From unknown Tue Jun 24 05:09:02 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#17540 <17540@debbugs.gnu.org> To: bug#17540 <17540@debbugs.gnu.org> Subject: Status: AIX - gcc 7.8.2 - Emacs pretest 24.3.91 - bootstrap-emacs SIGSEV Reply-To: bug#17540 <17540@debbugs.gnu.org> Date: Tue, 24 Jun 2025 12:09:02 +0000 retitle 17540 AIX - gcc 7.8.2 - Emacs pretest 24.3.91 - bootstrap-emacs SIG= SEV reassign 17540 emacs submitter 17540 Gilles Pion severity 17540 important thanks From debbugs-submit-bounces@debbugs.gnu.org Wed May 21 07:18:40 2014 Received: (at submit) by debbugs.gnu.org; 21 May 2014 11:18:40 +0000 Received: from localhost ([127.0.0.1]:55024 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wn4Xf-0005TK-K9 for submit@debbugs.gnu.org; Wed, 21 May 2014 07:18:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59537) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wn4Xb-0005Sy-7n for submit@debbugs.gnu.org; Wed, 21 May 2014 07:18:35 -0400 Received: from lists.gnu.org ([2001:4830:134:3::11]:34124) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wn4XV-0005yp-F5 for submit@debbugs.gnu.org; Wed, 21 May 2014 07:18:29 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33002) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wn4XS-0005GM-8g for bug-gnu-emacs@gnu.org; Wed, 21 May 2014 07:18:29 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from mail-qc0-x236.google.com ([2607:f8b0:400d:c01::236]:49994) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wn4XR-0005xk-1x for bug-gnu-emacs@gnu.org; Wed, 21 May 2014 07:18:26 -0400 Received: by mail-qc0-f182.google.com with SMTP id e16so2906697qcx.13 for ; Wed, 21 May 2014 04:18:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:from:date:message-id:subject:to:content-type; bh=3KuQ2De7ngrCcIrXzxkhNdKoRBYbZsqMeYlitqt/Y2c=; b=0jlPBhmf9qX49L/AcK+sLsRnlC+LIvfgZQr9q0HKq5R0fBd1FQZRBpQKASDLrDYUYm Pzxb0LLQXD6dQecGYNmpxOlom7gs/zzNDhhmOpqj+7nEEUH/DP8cjIgIfkrikcGtXEHf wRBkjBmuD22+yTMpuE2woROcdoa31TMAqH3MCV2VIGAlziXVZjDFub+jsIyC7VKgaI6l lGnoXGpToTmdxBoKMD4oZjzibswLWY5V0SWHWtzudRqjZbgtp3EpKRuclA7OgvGbgti5 frhygrtPLo2Unsqv5QYKKUyO6BzM0blW49K9H9JNh6/02dk8btQpy65zRzmM0U6YZoYs ldRw== X-Received: by 10.140.36.149 with SMTP id p21mr65251593qgp.54.1400671104067; Wed, 21 May 2014 04:18:24 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.130.7 with HTTP; Wed, 21 May 2014 04:18:02 -0700 (PDT) From: Gilles Pion Date: Wed, 21 May 2014 13:18:02 +0200 X-Google-Sender-Auth: nAcpaWqJrfI9huc9cY9qVCN8uZg Message-ID: Subject: AIX - gcc 7.8.2 - Emacs pretest 24.3.91 - bootstrap-emacs SIGSEV To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary=001a11c13f449f62c204f9e72786 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --001a11c13f449f62c204f9e72786 Content-Type: text/plain; charset=UTF-8 Note: I've been unable to perform configuration using native IBM (xlc compiler) Some pathnames have been "anonymised" in attached logfiles. -- Gilles PION --001a11c13f449f62c204f9e72786 Content-Type: application/octet-stream; name="anonymized-config.log" Content-Disposition: attachment; filename="anonymized-config.log" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hvgj8pn00 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGVtYWNzIGNvbmZpZ3VyZSAyNC4zLjkxLCB3 aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LiAgSW52b2NhdGlvbiBjb21t YW5kIGxpbmUgd2FzCgogICQgLi9jb25maWd1cmUgLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRp cj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJi ZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5k IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13 aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3Bw YXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8KCiMjIC0tLS0tLS0tLSAjIwoj IyBQbGF0Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpob3N0bmFtZSA9IGF4MzAwMDEKdW5hbWUg LW0gPSAwMENEMTBGNDRDMDAKdW5hbWUgLXIgPSAxCnVuYW1lIC1zID0gQUlYCnVuYW1lIC12ID0g NgoKL3Vzci9iaW4vdW5hbWUgLXAgPSBwb3dlcnBjCi9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93 bgoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAg ICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9z dGluZm8gICAgICA9IHVua25vd24KL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVua25vd24KL3Vz ci9iaW4vb3NsZXZlbCAgICAgICA9IDYuMS4wLjAKL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVu a25vd24KClBBVEg6IC91c3IvdmFjL2JpbgpQQVRIOiAvdXNyL3ZhY3BwL2JpbgpQQVRIOiAvdXNy L2xvY2FsL2JpbgpQQVRIOiAvYmluClBBVEg6IC91c3IvYmluClBBVEg6IC91c3IvY2NzL2JpbgpQ QVRIOiAvb3B0L2ZyZWV3YXJlL2JpbgoKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMu ICMjCiMjIC0tLS0tLS0tLS0tICMjCgpjb25maWd1cmU6MzYzODogY2hlY2tpbmcgZm9yIHhjcnVu CmNvbmZpZ3VyZTozNjY4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNzM5OiBjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3VyZTozODA3OiByZXN1bHQ6IC9vcHQvZnJl ZXdhcmUvYmluL2luc3RhbGwgLWMKY29uZmlndXJlOjM4MTg6IGNoZWNraW5nIHdoZXRoZXIgYnVp bGQgZW52aXJvbm1lbnQgaXMgc2FuZQpjb25maWd1cmU6Mzg3MzogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjQwMjQ6IGNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wCmNvbmZpZ3VyZTo0 MDYzOiByZXN1bHQ6IC9vcHQvZnJlZXdhcmUvYmluL21rZGlyIC1wCmNvbmZpZ3VyZTo0MDcwOiBj aGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6NDEwMDogcmVzdWx0OiBubwpjb25maWd1cmU6NDA3 MDogY2hlY2tpbmcgZm9yIG1hd2sKY29uZmlndXJlOjQxMDA6IHJlc3VsdDogbm8KY29uZmlndXJl OjQwNzA6IGNoZWNraW5nIGZvciBuYXdrCmNvbmZpZ3VyZTo0MDg2OiBmb3VuZCAvYmluL25hd2sK Y29uZmlndXJlOjQwOTc6IHJlc3VsdDogbmF3awpjb25maWd1cmU6NDEwODogY2hlY2tpbmcgd2hl dGhlciAvYmluL2dtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6NDEzMDogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjQxNTk6IGNoZWNraW5nIHdoZXRoZXIgL2Jpbi9nbWFrZSBzdXBwb3J0cyBuZXN0 ZWQgdmFyaWFibGVzCmNvbmZpZ3VyZTo0MTc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDg4MDog Y2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjQ4OTQ6IHJlc3VsdDogcG93ZXJw Yy1pYm0tYWl4Ni4xLjAuMApjb25maWd1cmU6NDkxNDogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlw ZQpjb25maWd1cmU6NDkyNzogcmVzdWx0OiBwb3dlcnBjLWlibS1haXg2LjEuMC4wCmNvbmZpZ3Vy ZTo1MjU4OiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTo1MjY3OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtLXZlcnNpb24gPiY1CmdjYyAoR0NDKSA0LjguMgpD b3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMg ZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRo ZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgoKY29uZmlndXJlOjUyNzg6ICQ/ID0gMApjb25m aWd1cmU6NTI2NzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXYgPiY1ClVzaW5nIGJ1aWx0 LWluIHNwZWNzLgpDT0xMRUNUX0dDQz08VE9PTFNESVI+L2djYy00LjgvYmluL2djYwpDT0xMRUNU X0xUT19XUkFQUEVSPTxUT09MU0RJUj4vZ2NjLTQuOC4yL2xpYmV4ZWMvZ2NjL3Bvd2VycGMtaWJt LWFpeDYuMS4wLjAvNC44LjIvbHRvLXdyYXBwZXIKVGFyZ2V0OiBwb3dlcnBjLWlibS1haXg2LjEu MC4wCkNvbmZpZ3VyZWQgd2l0aDogPEhPTUVESVI+L3NyYy9nY2MvNC44LjIvZ2NjLTQuOC4yL2Nv bmZpZ3VyZSAtLXByZWZpeD08VE9PTFNESVI+L2djYy00LjguMiAtLXN5c2NvbmZkaXI9PFNZU0NP TkZESVI+IC0tbG9jYWxzdGF0ZWRpcj0vdmFyPFRPT0xTRElSPi9nY2MgLS1wcmVmaXg9PFRPT0xT RElSPi9nY2MtNC44LjIgLS1kaXNhYmxlLW5scyAtLWRpc2FibGUtbGliZ2NqIC0tZW5hYmxlLWxh bmd1YWdlcz1jLGMrKyAtLWVuYWJsZS1saWJhZGE9bm8KVGhyZWFkIG1vZGVsOiBhaXgKZ2NjIHZl cnNpb24gNC44LjIgKEdDQykgCmNvbmZpZ3VyZTo1Mjc4OiAkPyA9IDAKY29uZmlndXJlOjUyNjc6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1WID4mNQpnY2M6IGVycm9yOiB1bnJlY29nbml6 ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnLVYnCmdjYzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZp bGVzCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo1Mjc4OiAkPyA9IDEKY29uZmln dXJlOjUyNjc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1xdmVyc2lvbiA+JjUKZ2NjOiBl cnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1xdmVyc2lvbicKZ2NjOiBm YXRhbCBlcnJvcjogbm8gaW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmln dXJlOjUyNzg6ICQ/ID0gMQpjb25maWd1cmU6NTI5ODogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcwpjb25maWd1cmU6NTMyMDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgY29uZnRlc3QuYyAgLWxwbmcxNSA+JjUKY29uZmlndXJlOjUzMjQ6ICQ/ ID0gMApjb25maWd1cmU6NTM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUzNzU6IGNoZWNraW5n IGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZQpjb25maWd1cmU6NTM3Nzog cmVzdWx0OiBhLm91dApjb25maWd1cmU6NTM4MzogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcwpjb25maWd1cmU6NTM5MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLW8gY29u ZnRlc3QgLU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9saWIgY29uZnRlc3QuYyAgLWxwbmcxNSA+JjUKY29uZmlndXJlOjUz OTQ6ICQ/ID0gMApjb25maWd1cmU6NTQxNjogcmVzdWx0OiAKY29uZmlndXJlOjU0Mzg6IGNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZwpjb25maWd1cmU6NTQ0NjogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLW8gY29uZnRlc3QgLU8zICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgY29uZnRlc3Qu YyAgLWxwbmcxNSA+JjUKY29uZmlndXJlOjU0NTA6ICQ/ID0gMApjb25maWd1cmU6NTQ1NzogLi9j b25mdGVzdApjb25maWd1cmU6NTQ2MTogJD8gPSAwCmNvbmZpZ3VyZTo1NDc2OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZTo1NDgxOiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcwpjb25m aWd1cmU6NTUwMzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8zICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1NTA3OiAk PyA9IDAKY29uZmlndXJlOjU1Mjg6IHJlc3VsdDogbwpjb25maWd1cmU6NTUzMjogY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyCmNvbmZpZ3VyZTo1NTUxOiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtYyAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjU1NTE6ICQ/ID0gMApjb25maWd1 cmU6NTU2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU1Njk6IGNoZWNraW5nIHdoZXRoZXIgPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgYWNjZXB0cyAtZwpjb25maWd1cmU6NTU4OTogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLWcgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2lu Y2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjU1ODk6ICQ/ID0gMApjb25maWd1cmU6NTYz MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU2NDc6IGNoZWNraW5nIGZvciA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkKY29uZmlndXJlOjU3MTA6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjICAtYyAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjU3MTA6ICQ/ID0gMApjb25maWd1 cmU6NTcyMzogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1cmU6NTc0ODogY2hlY2tpbmcgd2hl dGhlciA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9n ZXRoZXIKY29uZmlndXJlOjU3NzA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1jIGNvbmZ0 ZXN0LmMgLW8gY29uZnRlc3QyLm8KY29uZmlndXJlOjU3NzM6ICQ/ID0gMApjb25maWd1cmU6NTc3 MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdDIu bwpjb25maWd1cmU6NTc3MzogJD8gPSAwCmNvbmZpZ3VyZTo1Nzg1OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NTgxMzogY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSAvYmluL2dt YWtlCmNvbmZpZ3VyZTo1ODQxOiByZXN1bHQ6IEdOVQpjb25maWd1cmU6NTg2NzogY2hlY2tpbmcg ZGVwZW5kZW5jeSBzdHlsZSBvZiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYwpjb25maWd1cmU6 NTk3ODogcmVzdWx0OiBnY2MzCmNvbmZpZ3VyZTo2MDcxOiBjaGVja2luZyBob3cgdG8gcnVuIHRo ZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NjEwMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLUUgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYwpjb25m aWd1cmU6NjEwMjogJD8gPSAwCmNvbmZpZ3VyZTo2MTE2OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtRSAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jCmNv bmZ0ZXN0LmM6MTE6Mjg6IGZhdGFsIGVycm9yOiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjYxMTY6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6NjE0MTogcmVzdWx0OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtRQpjb25maWd1cmU6NjE2MTogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLUUgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYwpj b25maWd1cmU6NjE2MTogJD8gPSAwCmNvbmZpZ3VyZTo2MTc1OiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtRSAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j CmNvbmZ0ZXN0LmM6MTE6Mjg6IGZhdGFsIGVycm9yOiBhY19ub25leGlzdGVudC5oOiBObyBzdWNo IGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjYx NzU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6NjIwNDogY2hlY2tpbmcgZm9yIGdy ZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lCmNvbmZpZ3VyZTo2MjYyOiByZXN1bHQ6 IC91c3IvbG9jYWwvYmluL2dyZXAKY29uZmlndXJlOjYyNjc6IGNoZWNraW5nIGZvciBlZ3JlcApj b25maWd1cmU6NjMyOTogcmVzdWx0OiAvdXNyL2xvY2FsL2Jpbi9ncmVwIC1FCmNvbmZpZ3VyZTo2 MzM2OiBjaGVja2luZyBmb3IgTWluaXggQW1zdGVyZGFtIGNvbXBpbGVyCmNvbmZpZ3VyZTo2MzYw OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NDEyOiBjaGVja2luZyBmb3IgYXIKY29uZmlndXJlOjY0 Mjg6IGZvdW5kIC9iaW4vYXIKY29uZmlndXJlOjY0Mzk6IHJlc3VsdDogYXIKY29uZmlndXJlOjY1 MTk6IGNoZWNraW5nIGZvciByYW5saWIKY29uZmlndXJlOjY1MzU6IGZvdW5kIC9iaW4vcmFubGli CmNvbmZpZ3VyZTo2NTQ2OiByZXN1bHQ6IHJhbmxpYgpjb25maWd1cmU6NjU3MjogY2hlY2tpbmcg Zm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMKY29uZmlndXJlOjY1OTI6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1jIC1PMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6NjU5MjogJD8gPSAwCmNvbmZpZ3VyZTo2NjY1OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtbyBjb25mdGVzdCAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiBjb25mdGVzdC5j ICAtbHBuZzE1ID4mNQpjb25maWd1cmU6NjY2NTogJD8gPSAwCmNvbmZpZ3VyZTo2NjY1OiAuL2Nv bmZ0ZXN0CmNvbmZpZ3VyZTo2NjY1OiAkPyA9IDAKY29uZmlndXJlOjY2NzY6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo2Njg5OiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjY2ODk6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1jIC1PMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjY4OTogJD8gPSAwCmNvbmZp Z3VyZTo2Njg5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjY4OTogY2hlY2tpbmcgZm9yIHN5cy9z dGF0LmgKY29uZmlndXJlOjY2ODk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1jIC1PMyAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6NjY4OTogJD8gPSAwCmNvbmZpZ3VyZTo2Njg5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjY4 OTogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3VyZTo2Njg5OiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtYyAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjY2ODk6ICQ/ID0gMApjb25maWd1cmU6NjY4OTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjY2ODk6IGNoZWNraW5nIGZvciBzdHJpbmcuaApjb25maWd1cmU6NjY4 OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8zICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2Njg5OiAkPyA9IDAKY29u ZmlndXJlOjY2ODk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2Njg5OiBjaGVja2luZyBmb3IgbWVt b3J5LmgKY29uZmlndXJlOjY2ODk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1jIC1PMyAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6NjY4OTogJD8gPSAwCmNvbmZpZ3VyZTo2Njg5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjY4 OTogY2hlY2tpbmcgZm9yIHN0cmluZ3MuaApjb25maWd1cmU6NjY4OTogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLWMgLU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2Njg5OiAkPyA9IDAKY29uZmlndXJlOjY2ODk6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo2Njg5OiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6 NjY4OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8zICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2Njg5OiAkPyA9IDAK Y29uZmlndXJlOjY2ODk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2Njg5OiBjaGVja2luZyBmb3Ig c3RkaW50LmgKY29uZmlndXJlOjY2ODk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1jIC1P MyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6NjY4OTogJD8gPSAwCmNvbmZpZ3VyZTo2Njg5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 NjY4OTogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTo2Njg5OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtYyAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY2ODk6ICQ/ID0gMApjb25maWd1cmU6NjY4OTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjY3MDI6IGNoZWNraW5nIG1pbml4L2NvbmZpZy5oIHVzYWJpbGl0 eQpjb25maWd1cmU6NjcwMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8zICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 NTQ6MjY6IGZhdGFsIGVycm9yOiBtaW5peC9jb25maWcuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQogI2luY2x1ZGUgPG1pbml4L2NvbmZpZy5oPgogICAgICAgICAgICAgICAgICAgICAgICAg IF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjY3MDI6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJl bWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19U WVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERD X0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+Cnwg I2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj IGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNU RENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnku aD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPG1p bml4L2NvbmZpZy5oPgpjb25maWd1cmU6NjcwMjogcmVzdWx0OiBubwpjb25maWd1cmU6NjcwMjog Y2hlY2tpbmcgbWluaXgvY29uZmlnLmggcHJlc2VuY2UKY29uZmlndXJlOjY3MDI6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1FICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRl IGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoyMToyNjogZmF0YWwgZXJyb3I6IG1pbml4L2NvbmZpZy5o OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8bWluaXgvY29uZmlnLmg+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1 cmU6NjcwMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1pbml4 L2NvbmZpZy5oPgpjb25maWd1cmU6NjcwMjogcmVzdWx0OiBubwpjb25maWd1cmU6NjcwMjogY2hl Y2tpbmcgZm9yIG1pbml4L2NvbmZpZy5oCmNvbmZpZ3VyZTo2NzAyOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo2NzI2OiBjaGVja2luZyB3aGV0aGVyIGl0IGlzIHNhZmUgdG8gZGVmaW5lIF9fRVhURU5T SU9OU19fCmNvbmZpZ3VyZTo2NzQ0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtYyAtTzMg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjY3NDQ6ICQ/ID0gMApjb25maWd1cmU6Njc1MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY3 NjY6IGNoZWNraW5nIHdoZXRoZXIgX1hPUEVOX1NPVVJDRSBzaG91bGQgYmUgZGVmaW5lZApjb25m aWd1cmU6Njc4NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8zICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2Nzg1OiAk PyA9IDAKY29uZmlndXJlOjY4MDk6IHJlc3VsdDogbm8KY29uZmlndXJlOjY4Mjg6IGNoZWNraW5n IGZvciBzcGVjaWFsIEMgY29tcGlsZXIgb3B0aW9ucyBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCmNv bmZpZ3VyZTo2ODczOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2ODc5OiBjaGVja2luZyBmb3IgX0ZJ TEVfT0ZGU0VUX0JJVFMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6Njkw NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8zICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MzM6Mzogd2FybmluZzog bGVmdCBzaGlmdCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiAg IGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQogICBe CmNvbmZ0ZXN0LmM6MzM6Mzogd2FybmluZzogbGVmdCBzaGlmdCBjb3VudCA+PSB3aWR0aCBvZiB0 eXBlIFtlbmFibGVkIGJ5IGRlZmF1bHRdCmNvbmZ0ZXN0LmM6MzQ6MjQ6IHdhcm5pbmc6IGxlZnQg c2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlwZSBbZW5hYmxlZCBieSBkZWZhdWx0XQogICAgICAg ICAgICAgICAgICAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKICAgICAg ICAgICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjM0OjI0OiB3YXJuaW5nOiBsZWZ0IHNoaWZ0 IGNvdW50ID49IHdpZHRoIG9mIHR5cGUgW2VuYWJsZWQgYnkgZGVmYXVsdF0KY29uZnRlc3QuYzoz Mzo3OiBlcnJvcjogdmFyaWFibHkgbW9kaWZpZWQgJ29mZl90X2lzX2xhcmdlJyBhdCBmaWxlIHNj b3BlCiAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcy MQogICAgICAgXgpjb25maWd1cmU6NjkwNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNl bnQgMioqNjMgLSAxIGNvcnJlY3RseS4KfCAgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJH RV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2ODU0Nzc1ODA3LAp8ICAgICBzaW5jZSBzb21lIEMrKyBj b21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCnwgICAgIGluY29ycmVjdGx5IHJl amVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KfCAjZGVmaW5lIExBUkdFX09GRl9UICgoKG9m Zl90KSAxIDw8IDYyKSAtIDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKfCAgIGludCBvZmZfdF9pc19s YXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQp8ICAgICAgICAgICAgICAgICAg ICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCnwgICAgICAgICAgICAgICAg ICAgICAgID8gMSA6IC0xXTsKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6NjkyODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8z ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6MzQ6Mzogd2FybmluZzogbGVmdCBzaGlmdCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlIFtl bmFibGVkIGJ5IGRlZmF1bHRdCiAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAy MTQ3NDgzNjI5ID09IDcyMQogICBeCmNvbmZ0ZXN0LmM6MzQ6Mzogd2FybmluZzogbGVmdCBzaGlm dCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlIFtlbmFibGVkIGJ5IGRlZmF1bHRdCmNvbmZ0ZXN0LmM6 MzU6MjQ6IHdhcm5pbmc6IGxlZnQgc2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlwZSBbZW5hYmxl ZCBieSBkZWZhdWx0XQogICAgICAgICAgICAgICAgICAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIx NDc0ODM2NDcgPT0gMSkKICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjM1OjI0 OiB3YXJuaW5nOiBsZWZ0IHNoaWZ0IGNvdW50ID49IHdpZHRoIG9mIHR5cGUgW2VuYWJsZWQgYnkg ZGVmYXVsdF0KY29uZnRlc3QuYzozNDo3OiBlcnJvcjogdmFyaWFibHkgbW9kaWZpZWQgJ29mZl90 X2lzX2xhcmdlJyBhdCBmaWxlIHNjb3BlCiAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZG X1QgJSAyMTQ3NDgzNjI5ID09IDcyMQogICAgICAgXgpjb25maWd1cmU6NjkyODogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAgLyogQ2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIq KjYzIC0gMSBjb3JyZWN0bHkuCnwgICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZG X1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKfCAgICAgc2luY2Ugc29tZSBDKysgY29tcGls ZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycwp8ICAgICBpbmNvcnJlY3RseSByZWplY3Qg OTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCnwgI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkg MSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCnwgICBpbnQgb2ZmX3RfaXNfbGFyZ2Vb KExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKfCAgICAgICAgICAgICAgICAgICAgICAg ICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQp8ICAgICAgICAgICAgICAgICAgICAg ICA/IDEgOiAtMV07CnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjY5MzY6IHJlc3VsdDogdW5rbm93bgpjb25maWd1cmU6Njk0ODogY2hlY2tp bmcgZm9yIF9MQVJHRV9GSUxFUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCmNvbmZpZ3Vy ZTo2OTczOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtYyAtTzMgIC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzozMzozOiB3YXJu aW5nOiBsZWZ0IHNoaWZ0IGNvdW50ID49IHdpZHRoIG9mIHR5cGUgW2VuYWJsZWQgYnkgZGVmYXVs dF0KICAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIx CiAgIF4KY29uZnRlc3QuYzozMzozOiB3YXJuaW5nOiBsZWZ0IHNoaWZ0IGNvdW50ID49IHdpZHRo IG9mIHR5cGUgW2VuYWJsZWQgYnkgZGVmYXVsdF0KY29uZnRlc3QuYzozNDoyNDogd2FybmluZzog bGVmdCBzaGlmdCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiAg ICAgICAgICAgICAgICAgICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQog ICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MzQ6MjQ6IHdhcm5pbmc6IGxlZnQg c2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlwZSBbZW5hYmxlZCBieSBkZWZhdWx0XQpjb25mdGVz dC5jOjMzOjc6IGVycm9yOiB2YXJpYWJseSBtb2RpZmllZCAnb2ZmX3RfaXNfbGFyZ2UnIGF0IGZp bGUgc2NvcGUKICAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2Mjkg PT0gNzIxCiAgICAgICBeCmNvbmZpZ3VyZTo2OTczOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45 MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi Igp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJl cHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5Lgp8ICAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5l IExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCnwgICAgIHNpbmNlIHNvbWUg QysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKfCAgICAgaW5jb3JyZWN0 bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLwp8ICNkZWZpbmUgTEFSR0VfT0ZGX1Qg KCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQp8ICAgaW50IG9mZl90 X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCnwgICAgICAgICAgICAg ICAgICAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKfCAgICAgICAgICAg ICAgICAgICAgICAgPyAxIDogLTFdOwp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2OTk3OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt YyAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjY5OTc6ICQ/ID0gMApjb25maWd1cmU6NzAwNTogcmVzdWx0OiAxCmNvbmZpZ3Vy ZTo3MDI3OiBjaGVja2luZyBmb3IgPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzk5CmNvbmZpZ3VyZTo3MTc2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAgLWMgLU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZ0ZXN0LmM6Nzk6Mjk6IGVycm9yOiBleHBlY3RlZCAnOycsICcsJyBvciAnKScgYmVm b3JlICd0ZXh0JwogdGVzdF9yZXN0cmljdCAoY2NwIHJlc3RyaWN0IHRleHQpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0 ZXN0LmM6MTMzOjE4OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f YXR0cmlidXRlX18nIGJlZm9yZSAnbmV3dmFyJwogICBjaGFyICpyZXN0cmljdCBuZXd2YXIgPSAi QW5vdGhlciBzdHJpbmciOwogICAgICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MTMzOjE4OiBl cnJvcjogJ25ld3ZhcicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCmNv bmZ0ZXN0LmM6MTMzOjE4OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBv cnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25mdGVzdC5j OjE0MzozOiBlcnJvcjogJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgb25seSBh bGxvd2VkIGluIEM5OSBtb2RlCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgaWEtPmRhdGFzaXplOyAr K2kpCiAgIF4KY29uZnRlc3QuYzoxNDM6Mzogbm90ZTogdXNlIG9wdGlvbiAtc3RkPWM5OSBvciAt c3RkPWdudTk5IHRvIGNvbXBpbGUgeW91ciBjb2RlCmNvbmZpZ3VyZTo3MTc2OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRhcmcuaD4KfCAjaW5jbHVkZSA8 c3RkYm9vbC5oPgp8ICNpbmNsdWRlIDxzdGRsaWIuaD4KfCAjaW5jbHVkZSA8d2NoYXIuaD4KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAKfCAvLyBDaGVjayB2YXJhcmdzIG1hY3Jvcy4gIFRoZXNlIGV4 YW1wbGVzIGFyZSB0YWtlbiBmcm9tIEM5OSA2LjEwLjMuNS4KfCAjZGVmaW5lIGRlYnVnKC4uLikg ZnByaW50ZiAoc3RkZXJyLCBfX1ZBX0FSR1NfXykKfCAjZGVmaW5lIHNob3dsaXN0KC4uLikgcHV0 cyAoI19fVkFfQVJHU19fKQp8ICNkZWZpbmUgcmVwb3J0KHRlc3QsLi4uKSAoKHRlc3QpID8gcHV0 cyAoI3Rlc3QpIDogcHJpbnRmIChfX1ZBX0FSR1NfXykpCnwgc3RhdGljIHZvaWQKfCB0ZXN0X3Zh cmFyZ3NfbWFjcm9zICh2b2lkKQp8IHsKfCAgIGludCB4ID0gMTIzNDsKfCAgIGludCB5ID0gNTY3 ODsKfCAgIGRlYnVnICgiRmxhZyIpOwp8ICAgZGVidWcgKCJYID0gJWRcbiIsIHgpOwp8ICAgc2hv d2xpc3QgKFRoZSBmaXJzdCwgc2Vjb25kLCBhbmQgdGhpcmQgaXRlbXMuKTsKfCAgIHJlcG9ydCAo eD55LCAieCBpcyAlZCBidXQgeSBpcyAlZCIsIHgsIHkpOwp8IH0KfCAKfCAvLyBDaGVjayBsb25n IGxvbmcgdHlwZXMuCnwgI2RlZmluZSBCSUc2NCAxODQ0Njc0NDA3MzcwOTU1MTYxNXVsbAp8ICNk ZWZpbmUgQklHMzIgNDI5NDk2NzI5NXVsCnwgI2RlZmluZSBCSUdfT0sgKEJJRzY0IC8gQklHMzIg PT0gNDI5NDk2NzI5N3VsbCAmJiBCSUc2NCAlIEJJRzMyID09IDApCnwgI2lmICFCSUdfT0sKfCAg IHlvdXIgcHJlcHJvY2Vzc29yIGlzIGJyb2tlbjsKfCAjZW5kaWYKfCAjaWYgQklHX09LCnwgI2Vs c2UKfCAgIHlvdXIgcHJlcHJvY2Vzc29yIGlzIGJyb2tlbjsKfCAjZW5kaWYKfCBzdGF0aWMgbG9u ZyBsb25nIGludCBiaWdudW0gPSAtOTIyMzM3MjAzNjg1NDc3NTgwN0xMOwp8IHN0YXRpYyB1bnNp Z25lZCBsb25nIGxvbmcgaW50IHViaWdudW0gPSBCSUc2NDsKfCAKfCBzdHJ1Y3QgaW5jb21wbGV0 ZV9hcnJheQp8IHsKfCAgIGludCBkYXRhc2l6ZTsKfCAgIGRvdWJsZSBkYXRhW107CnwgfTsKfCAK fCBzdHJ1Y3QgbmFtZWRfaW5pdCB7CnwgICBpbnQgbnVtYmVyOwp8ICAgY29uc3Qgd2NoYXJfdCAq bmFtZTsKfCAgIGRvdWJsZSBhdmVyYWdlOwp8IH07CnwgCnwgdHlwZWRlZiBjb25zdCBjaGFyICpj Y3A7CnwgCnwgc3RhdGljIGlubGluZSBpbnQKfCB0ZXN0X3Jlc3RyaWN0IChjY3AgcmVzdHJpY3Qg dGV4dCkKfCB7CnwgICAvLyBTZWUgaWYgQysrLXN0eWxlIGNvbW1lbnRzIHdvcmsuCnwgICAvLyBJ dGVyYXRlIHRocm91Z2ggaXRlbXMgdmlhIHRoZSByZXN0cmljdGVkIHBvaW50ZXIuCnwgICAvLyBB bHNvIGNoZWNrIGZvciBkZWNsYXJhdGlvbnMgaW4gZm9yIGxvb3BzLgp8ICAgZm9yICh1bnNpZ25l ZCBpbnQgaSA9IDA7ICoodGV4dCtpKSAhPSAnXDAnOyArK2kpCnwgICAgIGNvbnRpbnVlOwp8ICAg cmV0dXJuIDA7CnwgfQp8IAp8IC8vIENoZWNrIHZhcmFyZ3MgYW5kIHZhX2NvcHkuCnwgc3RhdGlj IHZvaWQKfCB0ZXN0X3ZhcmFyZ3MgKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQp8IHsKfCAgIHZh X2xpc3QgYXJnczsKfCAgIHZhX3N0YXJ0IChhcmdzLCBmb3JtYXQpOwp8ICAgdmFfbGlzdCBhcmdz X2NvcHk7CnwgICB2YV9jb3B5IChhcmdzX2NvcHksIGFyZ3MpOwp8IAp8ICAgY29uc3QgY2hhciAq c3RyOwp8ICAgaW50IG51bWJlcjsKfCAgIGZsb2F0IGZudW1iZXI7CnwgCnwgICB3aGlsZSAoKmZv cm1hdCkKfCAgICAgewp8ICAgICAgIHN3aXRjaCAoKmZvcm1hdCsrKQp8IAl7CnwgCWNhc2UgJ3Mn OiAvLyBzdHJpbmcKfCAJICBzdHIgPSB2YV9hcmcgKGFyZ3NfY29weSwgY29uc3QgY2hhciAqKTsK fCAJICBicmVhazsKfCAJY2FzZSAnZCc6IC8vIGludAp8IAkgIG51bWJlciA9IHZhX2FyZyAoYXJn c19jb3B5LCBpbnQpOwp8IAkgIGJyZWFrOwp8IAljYXNlICdmJzogLy8gZmxvYXQKfCAJICBmbnVt YmVyID0gdmFfYXJnIChhcmdzX2NvcHksIGRvdWJsZSk7CnwgCSAgYnJlYWs7CnwgCWRlZmF1bHQ6 CnwgCSAgYnJlYWs7CnwgCX0KfCAgICAgfQp8ICAgdmFfZW5kIChhcmdzX2NvcHkpOwp8ICAgdmFf ZW5kIChhcmdzKTsKfCB9CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIC8vIENoZWNrIGJv b2wuCnwgICBfQm9vbCBzdWNjZXNzID0gZmFsc2U7CnwgCnwgICAvLyBDaGVjayByZXN0cmljdC4K fCAgIGlmICh0ZXN0X3Jlc3RyaWN0ICgiU3RyaW5nIGxpdGVyYWwiKSA9PSAwKQp8ICAgICBzdWNj ZXNzID0gdHJ1ZTsKfCAgIGNoYXIgKnJlc3RyaWN0IG5ld3ZhciA9ICJBbm90aGVyIHN0cmluZyI7 CnwgCnwgICAvLyBDaGVjayB2YXJhcmdzLgp8ICAgdGVzdF92YXJhcmdzICgicywgZCcgZiAuIiwg InN0cmluZyIsIDY1LCAzNC4yMzQpOwp8ICAgdGVzdF92YXJhcmdzX21hY3JvcyAoKTsKfCAKfCAg IC8vIENoZWNrIGZsZXhpYmxlIGFycmF5IG1lbWJlcnMuCnwgICBzdHJ1Y3QgaW5jb21wbGV0ZV9h cnJheSAqaWEgPQp8ICAgICBtYWxsb2MgKHNpemVvZiAoc3RydWN0IGluY29tcGxldGVfYXJyYXkp ICsgKHNpemVvZiAoZG91YmxlKSAqIDEwKSk7CnwgICBpYS0+ZGF0YXNpemUgPSAxMDsKfCAgIGZv ciAoaW50IGkgPSAwOyBpIDwgaWEtPmRhdGFzaXplOyArK2kpCnwgICAgIGlhLT5kYXRhW2ldID0g aSAqIDEuMjM0Owp8IAp8ICAgLy8gQ2hlY2sgbmFtZWQgaW5pdGlhbGl6ZXJzLgp8ICAgc3RydWN0 IG5hbWVkX2luaXQgbmkgPSB7CnwgICAgIC5udW1iZXIgPSAzNCwKfCAgICAgLm5hbWUgPSBMIlRl c3Qgd2lkZSBzdHJpbmciLAp8ICAgICAuYXZlcmFnZSA9IDU0My4zNDM0MywKfCAgIH07CnwgCnwg ICBuaS5udW1iZXIgPSA1ODsKfCAKfCAgIGludCBkeW5hbWljX2FycmF5W25pLm51bWJlcl07Cnwg ICBkeW5hbWljX2FycmF5W25pLm51bWJlciAtIDFdID0gNTQzOwp8IAp8ICAgLy8gd29yayBhcm91 bmQgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmdzCnwgICByZXR1cm4gKCFzdWNjZXNzIHx8IGJpZ251 bSA9PSAwTEwgfHwgdWJpZ251bSA9PSAwdUxMIHx8IG5ld3ZhclswXSA9PSAneCcKfCAJICB8fCBk eW5hbWljX2FycmF5W25pLm51bWJlciAtIDFdICE9IDU0Myk7CnwgCnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZTo3MTc2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1jIC1PMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6NzE3NjogJD8gPSAwCmNvbmZpZ3VyZTo3MTk2OiByZXN1bHQ6IC1zdGQ9 Z251OTkKY29uZmlndXJlOjcyOTc6IGNoZWNraW5nIGZvciA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IG9wdGlvbiB0byBhY2NlcHQgSVNPIFN0YW5kYXJkIEMKY29uZmlndXJl OjczMTE6IHJlc3VsdDogLXN0ZD1nbnU5OQpjb25maWd1cmU6NzU4MTogY2hlY2tpbmcgd2hldGhl ciB0aGUgY29tcGlsZXIgaXMgY2xhbmcKY29uZmlndXJlOjc2MDE6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MzE6MTI6IGVycm9yOiBleHBlY3RlZCAn PScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlIHN0cmluZyBjb25z dGFudAogICAgICBlcnJvciAibm90IGNsYW5nIjsKICAgICAgICAgICAgXgpjb25maWd1cmU6NzYw MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9C SVRfSU5PREUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAJICAjaWZuZGVmIF9fY2xh bmdfXwp8IAkgICAgZXJyb3IgIm5vdCBjbGFuZyI7CnwgCSAgI2VuZGlmCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjc2MDg6IHJlc3Vs dDogbm8KY29uZmlndXJlOjg2MDk6IGNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MgZm9yIGZp bGVzIGluIHRoZSBzYW1lIGRpcmVjdG9yeQpjb25maWd1cmU6ODYzNDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjg2NTA6IGNoZWNraW5nIGZvciBpbnN0YWxsLWluZm8KY29uZmlndXJlOjg2Njg6IGZv dW5kIC9vcHQvZnJlZXdhcmUvYmluL2luc3RhbGwtaW5mbwpjb25maWd1cmU6ODY4MTogcmVzdWx0 OiAvb3B0L2ZyZWV3YXJlL2Jpbi9pbnN0YWxsLWluZm8KY29uZmlndXJlOjg2OTE6IGNoZWNraW5n IGZvciBnemlwCmNvbmZpZ3VyZTo4NzA5OiBmb3VuZCAvdXNyL2xvY2FsL2Jpbi9nemlwCmNvbmZp Z3VyZTo4NzIxOiByZXN1bHQ6IC91c3IvbG9jYWwvYmluL2d6aXAKY29uZmlndXJlOjg4MjY6IGNo ZWNraW5nIGZvciBtYWtlaW5mbwpjb25maWd1cmU6ODg1NzogcmVzdWx0OiBubwpjb25maWd1cmU6 ODkyOTogY2hlY2tpbmcgZm9yIC16bm9jb21icmVsb2MKY29uZmlndXJlOjg5NDI6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIg LVdsLC16bm9jb21icmVsb2MgY29uZnRlc3QuYyAgLWxwbmcxNSA+JjUKbGQ6IDA3MDYtMDI3IFRo ZSAtbiBmbGFnIGlzIGlnbm9yZWQuCmNvbGxlY3QyOiBmYXRhbCBlcnJvcjogY29uZnRlc3Q6IGNh bm5vdCBvcGVuIGFzIENPRkYgZmlsZQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6 ODk0MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNz Igp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82 NF9CSVRfSU5PREUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCBpbnQKfCBtYWluICgp Cnwgewp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6ODk0NzogcmVzdWx0OiBu bwpjb25maWd1cmU6ODk1NTogY2hlY2tpbmcgd2hldGhlciBhZGRyZXNzZXMgYXJlIHNhbml0aXpl ZApjb25maWd1cmU6ODk3ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt YyAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzozNDoxMTogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9y ICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgc3RyaW5nIGNvbnN0YW50CiAgICAgZXJyb3IgIkFkZHJl c3NlcyBhcmUgbm90IHNhbml0aXplZC4iOwogICAgICAgICAgIF4KY29uZmlndXJlOjg5Nzg6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lO T0RFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lmbmRlZiBfX2hhc19mZWF0dXJlCnwg CSAgI2RlZmluZSBfX2hhc19mZWF0dXJlKGYpIDAKfCAJICAjZW5kaWYKfCAJICAjaWYgZGVmaW5l ZCBfX1NBTklUSVpFX0FERFJFU1NfXyB8fCBfX2hhc19mZWF0dXJlIChhZGRyZXNzX3Nhbml0aXpl cikKfCAJICAjZWxzZQp8IAkgICBlcnJvciAiQWRkcmVzc2VzIGFyZSBub3Qgc2FuaXRpemVkLiI7 CnwgCSAgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjg5ODU6IHJlc3VsdDogbm8KY29uZmlndXJlOjkyMDg6IGNoZWNraW5n IGZvciBwa2ctY29uZmlnCmNvbmZpZ3VyZTo5MjI2OiBmb3VuZCAvYmluL3BrZy1jb25maWcKY29u ZmlndXJlOjkyMzk6IHJlc3VsdDogL2Jpbi9wa2ctY29uZmlnCmNvbmZpZ3VyZTo5NDQ5OiBjaGVj a2luZyBmb3Igc3lzL3N5c3RlbWluZm8uaApjb25maWd1cmU6OTQ0OTogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjY0OjI4OiBmYXRhbCBlcnJvcjog c3lzL3N5c3RlbWluZm8uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHN5 cy9zeXN0ZW1pbmZvLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9u IHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5NDQ5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8 ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEK fCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiYWl4Igp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAj aWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5k aWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1 ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwg IyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAg aW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRp Zgp8IAp8ICNpbmNsdWRlIDxzeXMvc3lzdGVtaW5mby5oPgpjb25maWd1cmU6OTQ0OTogcmVzdWx0 OiBubwpjb25maWd1cmU6OTQ0OTogY2hlY2tpbmcgZm9yIGNvZmYuaApjb25maWd1cmU6OTQ0OTog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjY0OjE4 OiBmYXRhbCBlcnJvcjogY29mZi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVk ZSA8Y29mZi5oPgogICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNv bmZpZ3VyZTo5NDQ5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJX SU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1RE Q19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8 ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBT VERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5 Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRl IDxjb2ZmLmg+CmNvbmZpZ3VyZTo5NDQ5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5NDQ5OiBjaGVj a2luZyBmb3IgcHR5LmgKY29uZmlndXJlOjk0NDk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo2NDoxNzogZmF0YWwgZXJyb3I6IHB0eS5oOiBObyBz dWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8cHR5Lmg+CiAgICAgICAgICAgICAgICAg Xgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6OTQ0OTogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9M QVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZp bmUgU1lTVEVNX1RZUEUgImFpeCIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBl cy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9z dGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJf SAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9N RU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0 cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3Ry aW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGlu dHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0 ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlz dGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8cHR5Lmg+CmNvbmZpZ3VyZTo5NDQ5OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZTo5NDQ5OiBjaGVja2luZyBmb3Igc3lzL3Jlc291cmNlLmgKY29uZmln dXJlOjk0NDk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjk0NDk6ICQ/ID0gMApjb25maWd1cmU6OTQ0OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk0 NDk6IGNoZWNraW5nIGZvciBzeXMvdXRzbmFtZS5oCmNvbmZpZ3VyZTo5NDQ5OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDQ5OiAkPyA9IDAKY29u ZmlndXJlOjk0NDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDQ5OiBjaGVja2luZyBmb3IgcHdk LmgKY29uZmlndXJlOjk0NDk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjk0NDk6ICQ/ID0gMApjb25maWd1cmU6OTQ0OTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjk0NDk6IGNoZWNraW5nIGZvciB1dG1wLmgKY29uZmlndXJlOjk0NDk6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk0NDk6ICQ/ID0gMApj b25maWd1cmU6OTQ0OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk0NDk6IGNoZWNraW5nIGZvciB1 dGlsLmgKY29uZmlndXJlOjk0NDk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251 OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzo2ODoxODogZmF0YWwgZXJyb3I6IHV0aWwuaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHV0aWwuaD4KICAgICAgICAgICAgICAgICAgXgpjb21w aWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6OTQ0OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45 MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9G SUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW RV9VVE1QX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4K fCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGlu Y2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19I CnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwg IyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNl bmRpZgp8IAp8ICNpbmNsdWRlIDx1dGlsLmg+CmNvbmZpZ3VyZTo5NDQ5OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo5NDQ5OiBjaGVja2luZyBmb3Igc3lzL3NvY2tldC5oCmNvbmZpZ3VyZTo5NDQ5OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDQ5OiAk PyA9IDAKY29uZmlndXJlOjk0NDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDQ5OiBjaGVja2lu ZyBmb3Igc3RkbGliLmgKY29uZmlndXJlOjk0NDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDQ5 OiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29uZmlndXJlOjk0NDk6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo5NDQ5OiBjaGVja2luZyBmb3Igc3lzL3BhcmFtLmgKY29uZmlndXJlOjk0NDk6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk0NDk6ICQ/ID0g MApjb25maWd1cmU6OTQ0OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk0NDk6IGNoZWNraW5nIGZv ciBwdGhyZWFkLmgKY29uZmlndXJlOjk0NDk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjk0NDk6ICQ/ID0gMApjb25maWd1cmU6OTQ0OTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjk0NDk6IGNoZWNraW5nIGZvciBtYWxsb2MvbWFsbG9jLmgKY29uZmln dXJlOjk0NDk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzo3MzoyNzogZmF0YWwgZXJyb3I6IG1hbGxvYy9tYWxsb2MuaDogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQogI2luY2x1ZGUgPG1hbGxvYy9tYWxsb2MuaD4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6OTQ0OTogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUg VkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUg MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1RE Q19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8 ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBT VERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5 Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRl IDxtYWxsb2MvbWFsbG9jLmg+CmNvbmZpZ3VyZTo5NDQ5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5 NDQ5OiBjaGVja2luZyBmb3IgbWFpbGxvY2suaApjb25maWd1cmU6OTQ0OTogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjczOjIyOiBmYXRhbCBlcnJv cjogbWFpbGxvY2suaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPG1haWxs b2NrLmg+CiAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNv bmZpZ3VyZTo5NDQ5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJX SU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5o Pgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg aW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBp bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H X0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gK fCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+Cnwg I2VuZGlmCnwgCnwgI2luY2x1ZGUgPG1haWxsb2NrLmg+CmNvbmZpZ3VyZTo5NDQ5OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZTo5NDQ5OiBjaGVja2luZyBmb3Igc3lzL3VuLmgKY29uZmlndXJlOjk0NDk6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk0NDk6 ICQ/ID0gMApjb25maWd1cmU6OTQ0OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk0NDk6IGNoZWNr aW5nIGZvciBkaXJlbnQuaApjb25maWd1cmU6OTQ0OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTQ0OTogJD8gPSAwCmNvbmZpZ3VyZTo5NDQ5OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6OTQ0OTogY2hlY2tpbmcgZm9yIGV4ZWNpbmZvLmgKY29uZmln dXJlOjk0NDk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzo3NToyMjogZmF0YWwgZXJyb3I6IGV4ZWNpbmZvLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKICNpbmNsdWRlIDxleGVjaW5mby5oPgogICAgICAgICAgICAgICAgICAgICAgXgpjb21w aWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6OTQ0OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45 MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9G SUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW RV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5f SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1 ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFW RV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmlu ZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGlu Y2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5j bHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGlu Y2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGlu Y2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNs dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KY29uZmln dXJlOjk0NDk6IHJlc3VsdDogbm8KY29uZmlndXJlOjk0NDk6IGNoZWNraW5nIGZvciBzdGRpb19l eHQuaApjb25maWd1cmU6OTQ0OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOjc1OjIzOiBmYXRhbCBlcnJvcjogc3RkaW9fZXh0Lmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzdGRpb19leHQuaD4KICAgICAgICAgICAgICAg ICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5NDQ5OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNf SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NU QVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFE RVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl CnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRp Zgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hF QURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+Cnwg IyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5U VFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxzdGRp b19leHQuaD4KY29uZmlndXJlOjk0NDk6IHJlc3VsdDogbm8KY29uZmlndXJlOjk0NDk6IGNoZWNr aW5nIGZvciBnZXRvcHQuaApjb25maWd1cmU6OTQ0OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc1OjIwOiBmYXRhbCBlcnJvcjogZ2V0b3B0Lmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxnZXRvcHQuaD4KICAgICAgICAg ICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5NDQ5OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9E RSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERD X0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxn ZXRvcHQuaD4KY29uZmlndXJlOjk0NDk6IHJlc3VsdDogbm8KY29uZmlndXJlOjk0NDk6IGNoZWNr aW5nIGZvciBzeXMvdGltZS5oCmNvbmZpZ3VyZTo5NDQ5OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDQ5OiAkPyA9IDAKY29uZmlndXJlOjk0NDk6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDQ5OiBjaGVja2luZyBmb3Igd2NoYXIuaApjb25maWd1 cmU6OTQ0OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6OTQ0OTogJD8gPSAwCmNvbmZpZ3VyZTo5NDQ5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTQ0 OTogY2hlY2tpbmcgZm9yIHN0ZGludC5oCmNvbmZpZ3VyZTo5NDQ5OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6OTQ0OTogY2hlY2tpbmcgZm9yIGludHR5cGVzLmgKY29uZmlndXJlOjk0NDk6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo5NDQ5OiBjaGVja2luZyBmb3Igc3lzL3NlbGVjdC5oCmNvbmZpZ3Vy ZTo5NDQ5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo5NDQ5OiAkPyA9IDAKY29uZmlndXJlOjk0NDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDQ5 OiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6OTQ0OTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjk0NDk6IGNoZWNraW5nIGZvciB1dGltZS5oCmNvbmZpZ3VyZTo5NDQ5OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDQ5OiAkPyA9IDAK Y29uZmlndXJlOjk0NDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDc4OiBjaGVja2luZyBpZiBw ZXJzb25hbGl0eSBMSU5VWDMyIGNhbiBiZSBzZXQKY29uZmlndXJlOjk0OTE6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo0ODoyOTogZmF0YWwgZXJy b3I6IHN5cy9wZXJzb25hbGl0eS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVk ZSA8c3lzL3BlcnNvbmFsaXR5Lmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb21w aWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6OTQ5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45 MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9G SUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW RV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5f SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvcGVyc29uYWxpdHkuaD4KfCBpbnQKfCBt YWluICgpCnwgewp8IHBlcnNvbmFsaXR5IChQRVJfTElOVVgzMikKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjk0OTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjk1MDg6IGNoZWNraW5n IGZvciB0ZXJtLmgKY29uZmlndXJlOjk1MDg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1F ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1 cmU6OTUwODogJD8gPSAwCmNvbmZpZ3VyZTo5NTA4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTUx ODogY2hlY2tpbmcgd2hldGhlciB0aW1lLmggYW5kIHN5cy90aW1lLmggbWF5IGJvdGggYmUgaW5j bHVkZWQKY29uZmlndXJlOjk1Mzg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251 OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjk1Mzg6ICQ/ID0gMApjb25maWd1cmU6OTU0NTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjk1NTM6IGNoZWNraW5nIHdoZXRoZXIgc3lzX3NpZ2xpc3QgaXMgZGVjbGFyZWQK Y29uZmlndXJlOjk1NTM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMg LU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjYwOjEwOiBlcnJvcjog J3N5c19zaWdsaXN0JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAg KHZvaWQpIHN5c19zaWdsaXN0OwogICAgICAgICAgXgpjb25mdGVzdC5jOjYwOjEwOiBub3RlOiBl YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2gg ZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6OTU1MzogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNz IDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu My45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJH RV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c2lnbmFsLmg+CnwgCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCAjaWZuZGVmIHN5c19zaWdsaXN0CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAo dm9pZCkgc3lzX3NpZ2xpc3Q7CnwgI2Vsc2UKfCAgICh2b2lkKSBzeXNfc2lnbGlzdDsKfCAjZW5k aWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjk1NTM6IHJl c3VsdDogbm8KY29uZmlndXJlOjk1Njg6IGNoZWNraW5nIHdoZXRoZXIgX19zeXNfc2lnbGlzdCBp cyBkZWNsYXJlZApjb25maWd1cmU6OTU2ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NjE6 MTA6IGVycm9yOiAnX19zeXNfc2lnbGlzdCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgICh2b2lkKSBfX3N5c19zaWdsaXN0OwogICAgICAgICAgXgpjb25mdGVzdC5j OjYxOjEwOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5 IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6OTU2ODogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAj ZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZp bmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEK fCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5P REUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPHNpZ25hbC5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7 CnwgI2lmbmRlZiBfX3N5c19zaWdsaXN0CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkg X19zeXNfc2lnbGlzdDsKfCAjZWxzZQp8ICAgKHZvaWQpIF9fc3lzX3NpZ2xpc3Q7CnwgI2VuZGlm CnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5NTY4OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZTo5NTgyOiBjaGVja2luZyBmb3Igc3lzL3dhaXQuaCB0aGF0IGlzIFBP U0lYLjEgY29tcGF0aWJsZQpjb25maWd1cmU6OTYwODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTYwODogJD8gPSAwCmNvbmZpZ3VyZTo5NjE1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6OTYyOTogY2hlY2tpbmcgZm9yIG5ldC9pZi5oCmNvbmZpZ3Vy ZTo5NjI5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo5NjI5OiAkPyA9IDAKY29uZmlndXJlOjk2Mjk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NjQ1 OiBjaGVja2luZyBmb3IgaWZhZGRycy5oCmNvbmZpZ3VyZTo5NjQ1OiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6OTE6MjE6IGZhdGFsIGVycm9yOiBp ZmFkZHJzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxpZmFkZHJzLmg+ CiAgICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJl Ojk2NDU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0Vf NjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElN RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVk IEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNs dWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNs dWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVk ZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUg PHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8aWZhZGRycy5oPgpjb25maWd1 cmU6OTY0NTogcmVzdWx0OiBubwpjb25maWd1cmU6OTY2MTogY2hlY2tpbmcgZm9yIG5ldC9pZl9k bC5oCmNvbmZpZ3VyZTo5NjYxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo5NjYxOiAkPyA9IDAKY29uZmlndXJlOjk2NjE6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo5Njc2OiBjaGVja2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9mbGFncwpjb25maWd1 cmU6OTY3NjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6OTY3NjogJD8gPSAwCmNvbmZpZ3VyZTo5Njc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTY5 MjogY2hlY2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5pZnJfaHdhZGRyCmNvbmZpZ3VyZTo5NjkyOiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1 bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDA6MTI6IGVycm9yOiAnc3RydWN0IGlmcmVxJyBo YXMgbm8gbWVtYmVyIG5hbWVkICdpZnJfaHdhZGRyJwogaWYgKGFjX2FnZ3IuaWZyX2h3YWRkcikK ICAgICAgICAgICAgXgpjb25maWd1cmU6OTY5MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lm ZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRl IDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMg aWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGlu Y2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYK fCAjaWYgSEFWRV9TWVNfU09DS0VUX0gKfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRp Zgp8ICNpZiBIQVZFX05FVF9JRl9ICnwgI2luY2x1ZGUgPG5ldC9pZi5oPgp8ICNlbmRpZgp8IAp8 IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBpZnJlcSBhY19hZ2dyOwp8IGlmIChh Y19hZ2dyLmlmcl9od2FkZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZTo5NjkyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1P MyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDA6MTk6IGVycm9yOiAn c3RydWN0IGlmcmVxJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdpZnJfaHdhZGRyJwogaWYgKHNpemVv ZiBhY19hZ2dyLmlmcl9od2FkZHIpCiAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTo5Njky OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJ VF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5j bHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMg aW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBp bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRl ZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYg ZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8 ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwg IyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8 ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8 ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAj IGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNp bmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5j bHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMg c3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLmlmcl9od2FkZHIpCnwg cmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5NjkyOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZTo5NzA4OiBjaGVja2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9uZXRtYXNr CmNvbmZpZ3VyZTo5NzA4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1j IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDA6MTI6IGVycm9y OiAnc3RydWN0IGlmcmVxJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdpZnJfbmV0bWFzaycKIGlmIChh Y19hZ2dyLmlmcl9uZXRtYXNrKQogICAgICAgICAgICBeCmNvbmZpZ3VyZTo5NzA4OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T RUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN RSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8 c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NU RExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBI QVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVk ZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRl IDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVk ZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVk ZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUg PHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxz eXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0 L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlm cmVxIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IuaWZyX25ldG1hc2spCnwgcmV0dXJuIDA7CnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5NzA4OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRl c3QuYzoxMDA6MTk6IGVycm9yOiAnc3RydWN0IGlmcmVxJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdp ZnJfbmV0bWFzaycKIGlmIChzaXplb2YgYWNfYWdnci5pZnJfbmV0bWFzaykKICAgICAgICAgICAg ICAgICAgIF4KY29uZmlndXJlOjk3MDg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNk ZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJh aXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VU U05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJN X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBI QVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3Rk ZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFk ZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRl IDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lm IEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAj aWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQK fCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBpZiAoc2l6ZW9m IGFjX2FnZ3IuaWZyX25ldG1hc2spCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZTo5NzA4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5NzI0OiBjaGVja2luZyBmb3Ig c3RydWN0IGlmcmVxLmlmcl9icm9hZGFkZHIKY29uZmlndXJlOjk3MjQ6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4n Ogpjb25mdGVzdC5jOjEwMDo1OiBlcnJvcjogdXNlZCBzdHJ1Y3QgdHlwZSB2YWx1ZSB3aGVyZSBz Y2FsYXIgaXMgcmVxdWlyZWQKIGlmIChhY19hZ2dyLmlmcl9icm9hZGFkZHIpCiAgICAgXgpjb25m aWd1cmU6OTcyNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lO X1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RM X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVT X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19T VEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVB REVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxz ZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5k aWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19I RUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8 ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lO VFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VO SVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU09D S0VUX0gKfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX05FVF9J Rl9ICnwgI2luY2x1ZGUgPG5ldC9pZi5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7 Cnwgc3RhdGljIHN0cnVjdCBpZnJlcSBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLmlmcl9icm9hZGFk ZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5NzI0OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NzI0OiAk PyA9IDAKY29uZmlndXJlOjk3MjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NzQwOiBjaGVja2lu ZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9hZGRyCmNvbmZpZ3VyZTo5NzQwOiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWlu JzoKY29uZnRlc3QuYzoxMDE6NTogZXJyb3I6IHVzZWQgc3RydWN0IHR5cGUgdmFsdWUgd2hlcmUg c2NhbGFyIGlzIHJlcXVpcmVkCiBpZiAoYWNfYWdnci5pZnJfYWRkcikKICAgICBeCmNvbmZpZ3Vy ZTo5NzQwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1h Y3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNF XzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVk IEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNs dWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNs dWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVk ZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUg PHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxu ZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qg aWZyZXEgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5pZnJfYWRkcikKfCByZXR1cm4gMDsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjk3NDA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk3NDA6ICQ/ID0gMApjb25maWd1cmU6OTc0MDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjk3NTY6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZy X2FkZHIuc2FfbGVuCmNvbmZpZ3VyZTo5NzU2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NzU2OiAkPyA9IDAKY29uZmlndXJlOjk3NTY6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo5NzgwOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUg TWFrZQpjb25maWd1cmU6OTc4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk3OTI6IGNoZWNraW5n IHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1NTUQgLU1GCmNvbmZpZ3VyZTo5ODA3OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAtTU1EIC1NRiBkZXBzLmQgLU1Q ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjk4MDc6ICQ/ID0gMApjb25maWd1cmU6OTgxNjogcmVzdWx0OiB5ZXMKY29uZmlndXJl Ojk4MzY6IGNoZWNraW5nIGZvciBsb25nIGZpbGUgbmFtZXMKY29uZmlndXJlOjk4Njg6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo5ODg1OiBjaGVja2luZyBmb3IgWApjb25maWd1cmU6OTk5MzogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLUUgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv aW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZTo5OTkzOiAkPyA9IDAKY29uZmlndXJlOjEwMDI0 OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9saWIgY29uZnRlc3QuYyAtbFgxMSAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxMDAy NDogJD8gPSAwCmNvbmZpZ3VyZToxMDA3NDogcmVzdWx0OiBsaWJyYXJpZXMgLCBoZWFkZXJzIApj b25maWd1cmU6MTA3ODg6IGNoZWNraW5nIHdoZXRoZXIgbWFsbG9jIGlzIERvdWcgTGVhIHN0eWxl CmNvbmZpZ3VyZToxMDgwOTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt byBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIGNvbmZ0ZXN0LmMgIC1scG5nMTUgPiY1IApjb25m dGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NjU6MTogd2FybmluZzogaW1w bGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ21hbGxvY19zZXRfc3RhdGUnIFstV2ltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogbWFsbG9jX3NldF9zdGF0ZSAobWFsbG9jX2dldF9z dGF0ZSAoKSk7CiBeCmNvbmZ0ZXN0LmM6NjU6MTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24gJ21hbGxvY19nZXRfc3RhdGUnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRl Y2xhcmF0aW9uXQpjb25mdGVzdC5jOjY2OjY6IGVycm9yOiAnX19hZnRlcl9tb3JlY29yZV9ob29r JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgX19hZnRlcl9t b3JlY29yZV9ob29rID0gaG9vazsKICAgICAgXgpjb25mdGVzdC5jOjY2OjY6IG5vdGU6IGVhY2gg dW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5j dGlvbiBpdCBhcHBlYXJzIGluCmNvbmZ0ZXN0LmM6Njc6NjogZXJyb3I6ICdfX21hbGxvY19pbml0 aWFsaXplX2hvb2snIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAg ICBfX21hbGxvY19pbml0aWFsaXplX2hvb2sgPSBob29rOwogICAgICBeCmNvbmZpZ3VyZToxMDgw OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9C SVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lT X1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVm aW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPG1hbGxvYy5oPgp8IAkgICAgc3RhdGljIHZvaWQgaG9vayAodm9pZCkge30KfCBpbnQK fCBtYWluICgpCnwgewp8IG1hbGxvY19zZXRfc3RhdGUgKG1hbGxvY19nZXRfc3RhdGUgKCkpOwp8 IAkgICAgX19hZnRlcl9tb3JlY29yZV9ob29rID0gaG9vazsKfCAJICAgIF9fbWFsbG9jX2luaXRp YWxpemVfaG9vayA9IGhvb2s7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMDgx NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTA4NDE6IGNoZWNraW5nIHN5cy92bGltaXQuaCB1c2Fi aWxpdHkKY29uZmlndXJlOjEwODQxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToxMDg0MTogJD8gPSAwCmNvbmZpZ3VyZToxMDg0MTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEwODQxOiBjaGVja2luZyBzeXMvdmxpbWl0LmggcHJlc2VuY2UKY29uZmln dXJlOjEwODQxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtRSAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjEwODQxOiAkPyA9IDAK Y29uZmlndXJlOjEwODQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA4NDE6IGNoZWNraW5nIGZv ciBzeXMvdmxpbWl0LmgKY29uZmlndXJlOjEwODQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA4 NTE6IGNoZWNraW5nIGZvciBkYXRhX3N0YXJ0CmNvbmZpZ3VyZToxMDg2NzogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIGNv bmZ0ZXN0LmMgIC1scG5nMTUgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1i b2w6IGRhdGFfc3RhcnQKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWll dCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQg cmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTA4Njc6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFj cyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFS R0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5l IFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZf SCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9O QU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IGV4dGVybiBjaGFyIGRhdGFfc3RhcnRbXTsgY2hhciBjaDsKfCBpbnQKfCBtYWluICgp Cnwgewp8IHJldHVybiBkYXRhX3N0YXJ0IDwgJmNoOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MTA4NzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwOTIyOiBjaGVja2luZyBmb3Ig Z2V0cGFnZXNpemUKY29uZmlndXJlOjEwOTIyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9p bmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgY29uZnRlc3QuYyAgLWxwbmcx NSA+JjUgCmNvbmZpZ3VyZToxMDkyMjogJD8gPSAwCmNvbmZpZ3VyZToxMDkyMjogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEwOTMxOiBjaGVja2luZyBmb3Igd29ya2luZyBtbWFwCmNvbmZpZ3VyZTox MTA3ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt TzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIGNvbmZ0ZXN0LmMgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MTEwNzg6 ICQ/ID0gMApjb25maWd1cmU6MTEwNzg6IC4vY29uZnRlc3QKY29uZmlndXJlOjExMDc4OiAkPyA9 IDAKY29uZmlndXJlOjExMDg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTExMDY6IGNoZWNraW5n IGZvciBkbmV0X250b2EgaW4gLWxkbmV0CmNvbmZpZ3VyZToxMTEzMTogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIGNvbmZ0 ZXN0LmMgLWxkbmV0ICAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApjb2xsZWN0Mjog ZmF0YWwgZXJyb3I6IGxpYnJhcnkgbGliZG5ldCBub3QgZm91bmQKY29tcGlsYXRpb24gdGVybWlu YXRlZC4KY29uZmlndXJlOjExMTMxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVm aW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4 Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNO QU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBh bnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hh ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBi dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku ICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGRu ZXRfbnRvYSAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBkbmV0X250b2EgKCk7Cnwg ICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTE0MDogcmVzdWx0OiBubwpjb25maWd1 cmU6MTExNTI6IGNoZWNraW5nIGZvciBtYWluIGluIC1sWGJzZApjb25maWd1cmU6MTExNzE6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiBjb25mdGVzdC5jIC1sWGJzZCAgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4m NSAKY29sbGVjdDI6IGZhdGFsIGVycm9yOiBsaWJyYXJ5IGxpYlhic2Qgbm90IGZvdW5kCmNvbXBp bGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMTE3MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45 MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9G SUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW RV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5f SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNU IDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwg CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gbWFpbiAoKTsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjExMTgwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMTE5ODogY2hlY2tp bmcgZm9yIHB0aHJlYWRfYXRmb3JrIGluIC1scHRocmVhZApjb25maWd1cmU6MTEyMjM6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiBjb25mdGVzdC5jIC1scHRocmVhZCAgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4m NSAKY29uZmlndXJlOjExMjIzOiAkPyA9IDAKY29uZmlndXJlOjExMjMzOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTEyNTI6IGNoZWNraW5nIGZvciBjbWFfb3BlbiBpbiAtbHB0aHJlYWRzCmNvbmZp Z3VyZToxMTI3NzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkcyAgLWxwdGhyZWFkIC1s cnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZp bmVkIHN5bWJvbDogLmNtYV9vcGVuCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAt Ym5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJy b3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjExMjc3OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwg I2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxF Q1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19f U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05H X0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBh bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAj aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBjbWFfb3BlbiAo KTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBjbWFfb3BlbiAoKTsKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjExMjg2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMTMxMzog Y2hlY2tpbmcgZm9yIC1iYmlndG9jIG9wdGlvbgpjb25maWd1cmU6MTEzMzY6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAt V2wsLWJiaWd0b2MgY29uZnRlc3QuYyAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBu ZzE1ID4mNSAKY29uZmlndXJlOjExMzM2OiAkPyA9IDAKY29uZmlndXJlOjExMzQ1OiByZXN1bHQ6 IC1XbCwtYmJpZ3RvYwpjb25maWd1cmU6MTE0NDI6IGNoZWNraW5nIGZvciBYa2IKY29uZmlndXJl OjExNDU2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxYMTEgLWxwdGhy ZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCkluIGZpbGUgaW5jbHVkZWQgZnJv bSBjb25mdGVzdC5jOjY1OjA6Ci91c3IvaW5jbHVkZS9YMTEvWEtCbGliLmg6NTA6MzU6IGZhdGFs IGVycm9yOiBYMTEvZXh0ZW5zaW9ucy9YS0JzdHIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQogI2luY2x1ZGUgPFgxMS9leHRlbnNpb25zL1hLQnN0ci5oPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjExNDU2 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJ VF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZp bmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPFgx MS9YbGliLmg+CnwgI2luY2x1ZGUgPFgxMS9YS0JsaWIuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8 IFhrYkRlc2NQdHIga2IgPSBYa2JHZXRLZXlib2FyZCAoMCwgWGtiQWxsQ29tcG9uZW50c01hc2ss IFhrYlVzZUNvcmVLYmQpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTE0NjM6 IHJlc3VsdDogbm8KY29uZmlndXJlOjExNDc1OiBjaGVja2luZyBmb3IgWHJtU2V0RGF0YWJhc2UK Y29uZmlndXJlOjExNDc1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxY MTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZTox MTQ3NTogJD8gPSAwCmNvbmZpZ3VyZToxMTQ3NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExNDc1 OiBjaGVja2luZyBmb3IgWFNjcmVlblJlc291cmNlU3RyaW5nCmNvbmZpZ3VyZToxMTQ3NTogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scHRocmVhZCAtbHJ0cyAt bElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MTE0NzU6ICQ/ID0gMApjb25maWd1 cmU6MTE0NzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTQ3NTogY2hlY2tpbmcgZm9yIFhTY3Jl ZW5OdW1iZXJPZlNjcmVlbgpjb25maWd1cmU6MTE0NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3Rv YyAgY29uZnRlc3QuYyAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1 ID4mNSAKY29uZmlndXJlOjExNDc1OiAkPyA9IDAKY29uZmlndXJlOjExNDc1OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTE0ODc6IGNoZWNraW5nIFgxMSB2ZXJzaW9uIDYKY29uZmlndXJlOjExNTA2 OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMg ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxYMTEgLWxwdGhyZWFkIC1s cnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxMTUwNjogJD8gPSAwCmNv bmZpZ3VyZToxMTUxNjogcmVzdWx0OiA2IG9yIG5ld2VyCmNvbmZpZ3VyZToxMTU1NTogY2hlY2tp bmcgZm9yIGxpYnJzdmctMi4wID49IDIuMTEuMApjb25maWd1cmU6MTE1Njc6IHJlc3VsdDogbm8K Y29uZmlndXJlOjExNjIzOiBjaGVja2luZyBmb3IgV2FuZCA+PSA2LjMuNSBXYW5kICE9IDYuOC4y CmNvbmZpZ3VyZToxMTYzNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTIwMDc6IGNoZWNraW5nIGZv ciBkYnVzLTEgPj0gMS4wCmNvbmZpZ3VyZToxMjAxOTogcmVzdWx0OiBubwpjb25maWd1cmU6MTIw ODE6IGNoZWNraW5nIGZvciBnaW8tMi4wID49IDIuMjYKY29uZmlndXJlOjEyMDkzOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxMjE3NDogY2hlY2tpbmcgZm9yIGdjb25mLTIuMCA+PSAyLjEzCmNvbmZp Z3VyZToxMjE4NjogcmVzdWx0OiBubwpjb25maWd1cmU6MTIyODQ6IGNoZWNraW5nIGZvciBsZ2V0 ZmlsZWNvbiBpbiAtbHNlbGludXgKY29uZmlndXJlOjEyMzA5OiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJi aWd0b2MgIGNvbmZ0ZXN0LmMgLWxzZWxpbnV4ICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAt bGljb252ICAtbHBuZzE1ID4mNSAKY29sbGVjdDI6IGZhdGFsIGVycm9yOiBsaWJyYXJ5IGxpYnNl bGludXggbm90IGZvdW5kCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMjMwOTog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEK fCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRf SU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5l IEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5l IEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJF Uk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4g MQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAK fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj ZW5kaWYKfCBjaGFyIGxnZXRmaWxlY29uICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IGxnZXRmaWxlY29uICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTIzMTg6 IHJlc3VsdDogbm8KY29uZmlndXJlOjEyMzQ2OiBjaGVja2luZyBmb3IgZ251dGxzID49IDMuMC4w CmNvbmZpZ3VyZToxMjM1ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTIzOTc6IGNoZWNraW5nIGZv ciBnbnV0bHMgPj0gMi42LjYKY29uZmlndXJlOjEyNDA5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox MjQ4NDogY2hlY2tpbmcgZm9yIGdpby0yLjAgPj0gMi4yNApjb25maWd1cmU6MTI0OTY6IHJlc3Vs dDogbm8KY29uZmlndXJlOjEyNTMyOiBjaGVja2luZyBzeXMvaW5vdGlmeS5oIHVzYWJpbGl0eQpj b25maWd1cmU6MTI1MzI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMg IC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOjEwMzoyNTogZmF0YWwgZXJyb3I6IHN5cy9pbm90aWZ5Lmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvaW5vdGlmeS5oPgogICAgICAgICAgICAg ICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTI1MzI6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lO T0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJP RlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEK fCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5 cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUg PHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9T VERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQg SEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1 ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVk ZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1 ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1 ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRl IDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL2lub3RpZnkuaD4KY29uZmlndXJl OjEyNTMyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUzMjogY2hlY2tpbmcgc3lzL2lub3RpZnku aCBwcmVzZW5jZQpjb25maWd1cmU6MTI1MzI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1F ICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRl c3QuYzo3MDoyNTogZmF0YWwgZXJyb3I6IHN5cy9pbm90aWZ5Lmg6IE5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvaW5vdGlmeS5oPgogICAgICAgICAgICAgICAgICAgICAg ICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTI1MzI6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJ T04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAj ZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJP QURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdf RklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JF RU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAx CnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5l IEhBVkVfWDExUjZfWElNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5 cy9pbm90aWZ5Lmg+CmNvbmZpZ3VyZToxMjUzMjogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MzI6 IGNoZWNraW5nIGZvciBzeXMvaW5vdGlmeS5oCmNvbmZpZ3VyZToxMjUzMjogcmVzdWx0OiBubwpj b25maWd1cmU6MTI1ODg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgx MSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZnRlc3QuYzo3 MjozMDogZmF0YWwgZXJyb3I6IFgxMS9YYXczZC9TaW1wbGUuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQogI2luY2x1ZGUgPFgxMS9YYXczZC9TaW1wbGUuaD4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTI1ODg6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lO T0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJP RlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEK fCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwg I2luY2x1ZGUgPFgxMS9JbnRyaW5zaWMuaD4KfCAjaW5jbHVkZSA8WDExL1hhdzNkL1NpbXBsZS5o Pgp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToxMjY1MzogY2hlY2tpbmcgZm9yIHhhdzNkCmNvbmZpZ3VyZToxMjY1NTogcmVzdWx0OiBubwpj b25maWd1cmU6MTI2NTc6IGNoZWNraW5nIGZvciBsaWJYYXcKY29uZmlndXJlOjEyNjc1OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1s SU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxMjY3NTogJD8gPSAwCmNvbmZpZ3Vy ZToxMjY4NTogcmVzdWx0OiB5ZXM7IHVzaW5nIEx1Y2lkIHRvb2xraXQKY29uZmlndXJlOjEyNzA1 OiBjaGVja2luZyBYMTEgdG9vbGtpdCB2ZXJzaW9uCmNvbmZpZ3VyZToxMjcyNDogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9s aWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1s aWNvbnYgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MTI3MjQ6ICQ/ID0gMApjb25maWd1cmU6MTI3 MzU6IHJlc3VsdDogNiBvciBuZXdlcgpjb25maWd1cmU6MTI3NTY6IGNoZWNraW5nIGZvciBYbXVD b252ZXJ0U3RhbmRhcmRTZWxlY3Rpb24gaW4gLWxYbXUKY29uZmlndXJlOjEyNzgxOiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxYbXUgIC1sWHQgLWxTTSAtbElDRSAtbFgx MSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjEy NzgxOiAkPyA9IDAKY29uZmlndXJlOjEyNzkwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI4MjA6 IGNoZWNraW5nIGZvciBYU2hhcGVRdWVyeUV4dGVuc2lvbiBpbiAtbFhleHQKY29uZmlndXJlOjEy ODQ1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAt TzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxYZXh0ICAtbFhtdSAt bFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcx NSA+JjUgCmNvbmZpZ3VyZToxMjg0NTogJD8gPSAwCmNvbmZpZ3VyZToxMjg1NDogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEzMDU1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1jICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjEzMDU1OiAkPyA9IDAKY29uZmlndXJlOjEzMTA0OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jICAtTzMgLS1wZWRhbnRpYy1lcnJvcnMgICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjk0OjQ6IGVycm9yOiBwYXNzaW5n IGFyZ3VtZW50IDUgb2YgJ1hSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFjaycgZnJvbSBpbmNv bXBhdGlibGUgcG9pbnRlciB0eXBlCiAgICBjbGllbnRfZGF0YSk7CiAgICBeCkluIGZpbGUgaW5j bHVkZWQgZnJvbSBjb25mdGVzdC5jOjc2OjA6Ci91c3IvaW5jbHVkZS9YMTEvWGxpYi5oOjM5NTY6 MTM6IG5vdGU6IGV4cGVjdGVkICdYSURQcm9jJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnWElN UHJvYycKIGV4dGVybiBCb29sIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFjaygKICAgICAg ICAgICAgIF4KY29uZnRlc3QuYzo5NDo0OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCA2IG9mICdY UmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2snIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIg dHlwZQogICAgY2xpZW50X2RhdGEpOwogICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZnRl c3QuYzo3NjowOgovdXNyL2luY2x1ZGUvWDExL1hsaWIuaDozOTU2OjEzOiBub3RlOiBleHBlY3Rl ZCAnWFBvaW50ZXInIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdjaGFyICoqJwogZXh0ZXJuIEJv b2wgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrKAogICAgICAgICAgICAgXgpjb25maWd1 cmU6MTMxMDQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJl bWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9V U0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElN SVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhB VkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDEx WFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8 ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IAp8ICNpbmNsdWRlIDxYMTEvWGxpYi5oPgp8ICNpbmNsdWRlIDxYMTEvWHJlc291 cmNlLmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBEaXNwbGF5ICpkaXNwbGF5Owp8IFhybURhdGFi YXNlIGRiOwp8IGNoYXIgKnJlc19uYW1lOwp8IGNoYXIgKnJlc19jbGFzczsKfCBYSU1Qcm9jICBj YWxsYmFjazsKfCBYUG9pbnRlciAqY2xpZW50X2RhdGE7CnwgI2lmbmRlZiBfX0dOVUNfXwp8IC8q IElmIHdlJ3JlIG5vdCB1c2luZyBHQ0MsIGl0J3MgcHJvYmFibHkgbm90IFhGcmVlODYsIGFuZCB0 aGlzIGlzCnwgICAgcHJvYmFibHkgcmlnaHQsIGJ1dCB3ZSBjYW4ndCB1c2Ugc29tZXRoaW5nIGxp a2UgLS1wZWRhbnRpYy1lcnJvcnMuICAqLwp8IGV4dGVybiBCb29sIFhSZWdpc3RlcklNSW5zdGFu dGlhdGVDYWxsYmFjayhEaXNwbGF5KiwgWHJtRGF0YWJhc2UsIGNoYXIqLAp8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyKiwgWElNUHJvYywgWFBvaW50ZXIq KTsKfCAjZW5kaWYKfCAodm9pZClYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2soZGlzcGxh eSwgZGIsIHJlc19uYW1lLCByZXNfY2xhc3MsIGNhbGxiYWNrLAp8ICAgIGNsaWVudF9kYXRhKTsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEzMTMyOiBjaGVja2luZyBmb3IgZm9u dGNvbmZpZyA+PSAyLjIuMApjb25maWd1cmU6MTMxNDQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEz NjY2OiBjaGVja2luZyBYMTEveHBtLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMzY2NjogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAgLU8zICAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMzY2NjogJD8g PSAwCmNvbmZpZ3VyZToxMzY2NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNjY2OiBjaGVja2lu ZyBYMTEveHBtLmggcHJlc2VuY2UKY29uZmlndXJlOjEzNjY2OiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtRSAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVz dC5jCmNvbmZpZ3VyZToxMzY2NjogJD8gPSAwCmNvbmZpZ3VyZToxMzY2NjogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjEzNjY2OiBjaGVja2luZyBmb3IgWDExL3hwbS5oCmNvbmZpZ3VyZToxMzY2Njog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNjY4OiBjaGVja2luZyBmb3IgWHBtUmVhZEZpbGVUb1Bp eG1hcCBpbiAtbFhwbQpjb25maWd1cmU6MTM2OTM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAg Y29uZnRlc3QuYyAtbFhwbSAtbFgxMSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDEx IC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MTM2 OTM6ICQ/ID0gMApjb25maWd1cmU6MTM3MDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzcxMjog Y2hlY2tpbmcgZm9yIFhwbVJldHVybkFsbG9jUGl4ZWxzIHByZXByb2Nlc3NvciBkZWZpbmUKY29u ZmlndXJlOjEzNzMyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM4MTQ6IGNoZWNraW5nIGplcnJv ci5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTM4MTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLWMgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTM4MTQ6ICQ/ID0gMApjb25maWd1cmU6MTM4MTQ6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzgxNDogY2hlY2tpbmcgamVycm9yLmggcHJlc2VuY2UK Y29uZmlndXJlOjEzODE0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtRSAgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToxMzgxNDog JD8gPSAwCmNvbmZpZ3VyZToxMzgxNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzODE0OiBjaGVj a2luZyBmb3IgamVycm9yLmgKY29uZmlndXJlOjEzODE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTM4MTY6IGNoZWNraW5nIGZvciBqcGVnX2Rlc3Ryb3lfY29tcHJlc3MgaW4gLWxqcGVnCmNvbmZp Z3VyZToxMzg0MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sanBlZyAg LWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAt bGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjEzODQxOiAkPyA9IDAKY29uZmlndXJlOjEz ODUwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM5MzE6IGNoZWNraW5nIHBuZy5oIHVzYWJpbGl0 eQpjb25maWd1cmU6MTM5MzE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LWMgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MTM5MzE6ICQ/ID0gMApjb25maWd1cmU6MTM5MzE6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMzkzMTogY2hlY2tpbmcgcG5nLmggcHJlc2VuY2UKY29uZmlndXJlOjEzOTMx OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtRSAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToxMzkzMTogJD8gPSAwCmNvbmZpZ3Vy ZToxMzkzMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzOTMxOiBjaGVja2luZyBmb3IgcG5nLmgK Y29uZmlndXJlOjEzOTMxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM5NDI6IGNoZWNraW5nIGZv ciBwbmdfZ2V0X2NoYW5uZWxzIGluIC1scG5nCmNvbmZpZ3VyZToxMzk2NzogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scG5nIC1seiAtbG0gLWxYZXh0IC1sWG11IC1sWHQg LWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4m NSAKY29uZmlndXJlOjEzOTY3OiAkPyA9IDAKY29uZmlndXJlOjEzOTc2OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTM5OTc6IGNoZWNraW5nIHdoZXRoZXIgcG5nX2xvbmdqbXAgaXMgZGVjbGFyZWQK Y29uZmlndXJlOjEzOTk3OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1j ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjEzOTk3OiAkPyA9IDAKY29uZmlndXJlOjEzOTk3OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTQwMjA6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgaW5mbGF0ZUVu ZApjb25maWd1cmU6MTQwNTE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAt bFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1s aWNvbnYgIC1scG5nMTUgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6 IC5pbmZsYXRlRW5kCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVpZXQg b3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxkIHJl dHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0MDUxOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4z LjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19F WFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9D X1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdF X0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBT WVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBI QVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJ U1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0gg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFN RVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAj ZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VS Q0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZp bmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gx MVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUg MQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYg WFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2Rl ZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BO RyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50 ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lm ZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgaW5mbGF0ZUVuZCAo KTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBpbmZsYXRlRW5kICgpOwp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQwNTE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAg Y29uZnRlc3QuYyAtbHogIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhy ZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxNDA1MTogJD8g PSAwCmNvbmZpZ3VyZToxNDA2ODogcmVzdWx0OiAtbHoKY29uZmlndXJlOjE0MTE1OiBjaGVja2lu ZyB0aWZmaW8uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MTE1OiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtc3RkPWdudTk5IC1jICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MTE1OiAkPyA9IDAKY29uZmlndXJl OjE0MTE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQxMTU6IGNoZWNraW5nIHRpZmZpby5oIHBy ZXNlbmNlCmNvbmZpZ3VyZToxNDExNTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLUUgICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6 MTQxMTU6ICQ/ID0gMApjb25maWd1cmU6MTQxMTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDEx NTogY2hlY2tpbmcgZm9yIHRpZmZpby5oCmNvbmZpZ3VyZToxNDExNTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE0MTIwOiBjaGVja2luZyBmb3IgVElGRkdldFZlcnNpb24gaW4gLWx0aWZmCmNvbmZp Z3VyZToxNDE0NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sdGlmZiAt bGpwZWcgLWx6IC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVh ZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MTQxNDU6ICQ/ID0g MApjb25maWd1cmU6MTQxNTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDM3MjogY2hlY2tpbmcg Z3BtLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDM3MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtYyAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MTE2OjE3OiBmYXRhbCBlcnJvcjogZ3BtLmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxncG0uaD4KICAgICAgICAgICAg ICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxNDM3MjogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8 ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9f X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9C Uk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFND UkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVO IDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZp bmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhB VkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAx CnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxs YmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQ RUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZp bmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBI QVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3Rk ZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFk ZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRl IDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lu Y2x1ZGUgPGdwbS5oPgpjb25maWd1cmU6MTQzNzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0Mzcy OiBjaGVja2luZyBncG0uaCBwcmVzZW5jZQpjb25maWd1cmU6MTQzNzI6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1FICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNv bmZ0ZXN0LmMKY29uZnRlc3QuYzo4MzoxNzogZmF0YWwgZXJyb3I6IGdwbS5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8Z3BtLmg+CiAgICAgICAgICAgICAgICAgXgpjb21w aWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTQzNzI6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAy NC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMu OTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0Vf RklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VO X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElT VCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNk ZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJD RVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmlu ZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAx CnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBY UG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5H IDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8Z3BtLmg+CmNvbmZpZ3VyZToxNDM3MjogcmVzdWx0 OiBubwpjb25maWd1cmU6MTQzNzI6IGNoZWNraW5nIGZvciBncG0uaApjb25maWd1cmU6MTQzNzI6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NDU5OiBjaGVja2luZyBYMTEvU00vU01saWIuaCB1c2Fi aWxpdHkKY29uZmlndXJlOjE0NDU5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1jICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjE0NDU5OiAkPyA9IDAKY29uZmlndXJlOjE0NDU5OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTQ0NTk6IGNoZWNraW5nIFgxMS9TTS9TTWxpYi5oIHByZXNlbmNlCmNv bmZpZ3VyZToxNDQ1OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLUUgICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTQ0NTk6ICQ/ ID0gMApjb25maWd1cmU6MTQ0NTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDQ1OTogY2hlY2tp bmcgZm9yIFgxMS9TTS9TTWxpYi5oCmNvbmZpZ3VyZToxNDQ1OTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE0NDYxOiBjaGVja2luZyBmb3IgU21jT3BlbkNvbm5lY3Rpb24gaW4gLWxTTQpjb25maWd1 cmU6MTQ0ODY6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFNNIC1sSUNF IC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0g LWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxNDQ4NjogJD8gPSAwCmNvbmZpZ3VyZTox NDQ5NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTMxOiBjaGVja2luZyBmb3IgeHJhbmRyID49 IDEuMi4yCmNvbmZpZ3VyZToxNDU0MzogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ1NzA6IGNoZWNr aW5nIFgxMS9leHRlbnNpb25zL1hyYW5kci5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQ1NzA6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgIC1PMyAgICAgLUk8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjExNzoz NTogZmF0YWwgZXJyb3I6IFgxMS9leHRlbnNpb25zL1hyYW5kci5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CiAjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWHJhbmRyLmg+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1 cmU6MTQ1NzA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJl bWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9V U0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElN SVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhB VkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDEx WFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8 ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0 ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0g MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBI QVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwg I2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gK fCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFU X0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVS Uwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8 ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYK fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFE RVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMg ZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklO R1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZ UEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RE SU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNU RF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8WDExL2V4dGVu c2lvbnMvWHJhbmRyLmg+CmNvbmZpZ3VyZToxNDU3MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ1 NzA6IGNoZWNraW5nIFgxMS9leHRlbnNpb25zL1hyYW5kci5oIHByZXNlbmNlCmNvbmZpZ3VyZTox NDU3MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLUUgICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYwpjb25mdGVzdC5jOjg0OjM1OiBmYXRhbCBlcnJv cjogWDExL2V4dGVuc2lvbnMvWHJhbmRyLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNp bmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9YcmFuZHIuaD4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxNDU3MDogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAj ZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZp bmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEK fCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5P REUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9G U0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVm aW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZF X1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlh dGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVf VElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWHJhbmRyLmg+CmNvbmZpZ3VyZToxNDU3MDogcmVzdWx0 OiBubwpjb25maWd1cmU6MTQ1NzA6IGNoZWNraW5nIGZvciBYMTEvZXh0ZW5zaW9ucy9YcmFuZHIu aApjb25maWd1cmU6MTQ1NzA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NjU5OiBjaGVja2luZyBm b3IgeGluZXJhbWEgPj0gMS4wLjIKY29uZmlndXJlOjE0NjcxOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNDY5ODogY2hlY2tpbmcgWDExL2V4dGVuc2lvbnMvWGluZXJhbWEuaCB1c2FiaWxpdHkKY29u ZmlndXJlOjE0Njk4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jICAt TzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzoxMTc6Mzc6IGZhdGFsIGVycm9yOiBYMTEvZXh0ZW5zaW9ucy9YaW5lcmFtYS5o OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWGlu ZXJhbWEuaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRp b24gdGVybWluYXRlZC4KY29uZmlndXJlOjE0Njk4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45 MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi Igp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVT IDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VU TVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEK fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf RkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5l IEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJ TkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJ TSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9Y SU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50 ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwg I2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVf WF9TTSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNp ZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVk ZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAj IGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBp bmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlm CnwgI2luY2x1ZGUgPFgxMS9leHRlbnNpb25zL1hpbmVyYW1hLmg+CmNvbmZpZ3VyZToxNDY5ODog cmVzdWx0OiBubwpjb25maWd1cmU6MTQ2OTg6IGNoZWNraW5nIFgxMS9leHRlbnNpb25zL1hpbmVy YW1hLmggcHJlc2VuY2UKY29uZmlndXJlOjE0Njk4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtRSAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jCmNv bmZ0ZXN0LmM6ODQ6Mzc6IGZhdGFsIGVycm9yOiBYMTEvZXh0ZW5zaW9ucy9YaW5lcmFtYS5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWGluZXJh bWEuaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24g dGVybWluYXRlZC4KY29uZmlndXJlOjE0Njk4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8 ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEK fCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxB R1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhB VkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcg MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9Y MTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAx CnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZp bmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIK fCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZF X0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2Rl ZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9T TSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9Y aW5lcmFtYS5oPgpjb25maWd1cmU6MTQ2OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0Njk4OiBj aGVja2luZyBmb3IgWDExL2V4dGVuc2lvbnMvWGluZXJhbWEuaApjb25maWd1cmU6MTQ2OTg6IHJl c3VsdDogbm8KY29uZmlndXJlOjE0NzY5OiBjaGVja2luZyBmb3IgbGlieG1sLTIuMCA+IDIuNi4x Nwpjb25maWd1cmU6MTQ3ODE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0ODkzOiBjaGVja2luZyB3 aGV0aGVyIG5ldGRiIGRlY2xhcmVzIGhfZXJybm8KY29uZmlndXJlOjE0OTA5OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xp YiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAt bFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJl OjE0OTA5OiAkPyA9IDAKY29uZmlndXJlOjE0OTE3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ5 Mjg6IGNoZWNraW5nIGZvciBzcXJ0IGluIC1sbQpjb25maWd1cmU6MTQ5NTM6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGli IC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJ Q0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbmZ0 ZXN0LmM6OTI6Njogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0 aW9uICdzcXJ0JyBbZW5hYmxlZCBieSBkZWZhdWx0XQogY2hhciBzcXJ0ICgpOwogICAgICBeCmNv bmZpZ3VyZToxNDk1MzogJD8gPSAwCmNvbmZpZ3VyZToxNDk2MjogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE0OTc3OiBjaGVja2luZyBmb3IgbWFpbGxvY2sgaW4gLWxtYWlsCmNvbmZpZ3VyZToxNTAw MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8z ICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbWFpbCAgLWxtIC1sWGV4 dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29u diAgLWxwbmcxNSA+JjUgCmNvbGxlY3QyOiBmYXRhbCBlcnJvcjogbGlicmFyeSBsaWJtYWlsIG5v dCBmb3VuZApjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTUwMDI6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9Q T1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEK fCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xP TkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVF TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVm aW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBI QVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0g MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2Fs bGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYg MQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBh bnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hh ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBi dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku ICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIG1h aWxsb2NrICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG1haWxsb2NrICgpOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTUwMTE6IHJlc3VsdDogbm8KY29uZmlndXJl OjE1MDI4OiBjaGVja2luZyBmb3IgbWFpbGxvY2sgaW4gLWxsb2NrZmlsZQpjb25maWd1cmU6MTUw NTM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1P MyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbGxvY2tmaWxlICAtbG0g LWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAt bGljb252ICAtbHBuZzE1ID4mNSAKY29sbGVjdDI6IGZhdGFsIGVycm9yOiBsaWJyYXJ5IGxpYmxv Y2tmaWxlIG5vdCBmb3VuZApjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTUwNTM6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklU X0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmlu ZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1C RVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThO IDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwg I2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUg SEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3Rh bnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19I IDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBI QVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBP dmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAg ICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBH Q0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3Rp bGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYK fCBjaGFyIG1haWxsb2NrICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG1haWxsb2Nr ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTUwNjI6IHJlc3VsdDogbm8K Y29uZmlndXJlOjE1MDgyOiBjaGVja2luZyBmb3IgbGlibG9ja2ZpbGUuc28KY29uZmlndXJlOjE1 MTExOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTE5NDogY2hlY2tpbmcgZm9yIGFjY2VwdDQKY29u ZmlndXJlOjE1MTk0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1s WGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxp Y29udiAgLWxwbmcxNSA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDog LmFjY2VwdDQKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRp b24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJu ZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTUxOTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4z LjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEi CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklM RVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAx CnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZp bmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNU UklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBI QVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZf WElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwg I2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNF X1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9p bnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEK fCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFW RV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBE ZWZpbmUgYWNjZXB0NCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+ IGRlY2xhcmVzIGFjY2VwdDQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+ IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBhY2NlcHQ0IGlubm9jdW91c19h Y2NlcHQ0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQg aG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBj aGFyIGFjY2VwdDQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0 Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3Rz IGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19f CnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+Cnwg I2VuZGlmCnwgCnwgI3VuZGVmIGFjY2VwdDQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVy bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGlu dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRl ZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGFjY2VwdDQgKCk7Cnwg LyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQg aW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rp b25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBh bmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJf YWNjZXB0NCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2FjY2VwdDQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8 IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGFjY2VwdDQgKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTE5NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTUxOTQ6IGNo ZWNraW5nIGZvciBnZXRob3N0bmFtZQpjb25maWd1cmU6MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwt YmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgx MSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE1 MTk0OiAkPyA9IDAKY29uZmlndXJlOjE1MTk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUxOTQ6 IGNoZWNraW5nIGZvciBnZXRydXNhZ2UKY29uZmlndXJlOjE1MTk0OiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2ws LWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxY MTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZTox NTE5NDogJD8gPSAwCmNvbmZpZ3VyZToxNTE5NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MTk0 OiBjaGVja2luZyBmb3IgZ2V0X2N1cnJlbnRfZGlyX25hbWUKY29uZmlndXJlOjE1MTk0OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4dCAtbFhtdSAtbFh0IC1s U00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUg CmNvbmZpZ3VyZToxNTE5NDogJD8gPSAwCmNvbmZpZ3VyZToxNTE5NDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE1MTk0OiBjaGVja2luZyBmb3IgbHJhbmQ0OApjb25maWd1cmU6MTUxOTQ6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxT TSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAK Y29uZmlndXJlOjE1MTk0OiAkPyA9IDAKY29uZmlndXJlOjE1MTk0OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciBzZWxlY3QKY29uZmlndXJlOjE1MTk0OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00g LWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmNv bmZpZ3VyZToxNTE5NDogJD8gPSAwCmNvbmZpZ3VyZToxNTE5NDogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE1MTk0OiBjaGVja2luZyBmb3IgZ2V0cGFnZXNpemUKY29uZmlndXJlOjE1MTk0OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciBzZXRsb2NhbGUKY29uZmlndXJl OjE1MTk0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4dCAt bFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAg LWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxNTE5NDogJD8gPSAwCmNvbmZpZ3VyZToxNTE5NDogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE1MTk0OiBjaGVja2luZyBmb3IgZ2V0cmxpbWl0CmNvbmZpZ3Vy ZToxNTE5NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVz dCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQg LWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYg IC1scG5nMTUgPiY1IApjb25maWd1cmU6MTUxOTQ6ICQ/ID0gMApjb25maWd1cmU6MTUxOTQ6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNTE5NDogY2hlY2tpbmcgZm9yIHNldHJsaW1pdApjb25maWd1 cmU6MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0 IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252 ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE1MTk0OiAkPyA9IDAKY29uZmlndXJlOjE1MTk0OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciBzaHV0ZG93bgpjb25maWd1 cmU6MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0 IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252 ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE1MTk0OiAkPyA9IDAKY29uZmlndXJlOjE1MTk0OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciBnZXRhZGRyaW5mbwpjb25m aWd1cmU6MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxY ZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGlj b252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE1MTk0OiAkPyA9IDAKY29uZmlndXJlOjE1MTk0 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciBzdHJzaWduYWwKY29u ZmlndXJlOjE1MTk0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1s WGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxp Y29udiAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxNTE5NDogJD8gPSAwCmNvbmZpZ3VyZToxNTE5 NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MTk0OiBjaGVja2luZyBmb3Igc2V0aXRpbWVyCmNv bmZpZ3VyZToxNTE5NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAt bFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1s aWNvbnYgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MTUxOTQ6ICQ/ID0gMApjb25maWd1cmU6MTUx OTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTE5NDogY2hlY2tpbmcgZm9yIHNlbmR0bwpjb25m aWd1cmU6MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxY ZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGlj b252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE1MTk0OiAkPyA9IDAKY29uZmlndXJlOjE1MTk0 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciByZWN2ZnJvbQpjb25m aWd1cmU6MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxY ZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGlj b252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE1MTk0OiAkPyA9IDAKY29uZmlndXJlOjE1MTk0 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciBnZXRzb2NrbmFtZQpj b25maWd1cmU6MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0g LWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAt bGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE1MTk0OiAkPyA9IDAKY29uZmlndXJlOjE1 MTk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciBnZXRwZWVybmFt ZQpjb25maWd1cmU6MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAt bG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJ TSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE1MTk0OiAkPyA9IDAKY29uZmlndXJl OjE1MTk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciBnZXRpZmFk ZHJzCmNvbmZpZ3VyZToxNTE5NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRl ICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5j IC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAt bElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBz eW1ib2w6IC5nZXRpZmFkZHJzCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5v cXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6 IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE1MTk0OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi ZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2Rl ZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FE QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJ TEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE IDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO UkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBI QVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAj ZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNr X2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAx CnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBI QVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAj ZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9T VE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9T RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExP Q0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8g MQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8 ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2V0aWZhZGRycyB0byBhbiBpbm5vY3VvdXMg dmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldGlmYWRkcnMuCnwgICAgRm9y IGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICov CnwgI2RlZmluZSBnZXRpZmFkZHJzIGlubm9jdW91c19nZXRpZmFkZHJzCnwgCnwgLyogU3lzdGVt IGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5 cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldGlmYWRkcnMgKCk7IGJl bG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlz IGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5k aW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1p dHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVm IGdldGlmYWRkcnMKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGdldGlmYWRkcnMgKCk7CnwgLyogVGhlIEdOVSBD IGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8 ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1 YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1h bCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ2V0aWZhZGRycyB8 fCBkZWZpbmVkIF9fc3R1Yl9fX2dldGlmYWRkcnMKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGlu dAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGdldGlmYWRkcnMgKCk7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZToxNTE5NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTUxOTQ6IGNoZWNr aW5nIGZvciBmcmVlaWZhZGRycwpjb25maWd1cmU6MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJp Z3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAt bHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVS Uk9SOiBVbmRlZmluZWQgc3ltYm9sOiAuZnJlZWlmYWRkcnMKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUg LWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24u CmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTUx OTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NP VVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRf QklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZ U19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2Rl ZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5O VU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9J MThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAx CnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZp bmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUlu c3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BO R19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmlu ZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJO TyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNk ZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUg SEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBmcmVlaWZhZGRy cyB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGZy ZWVpZmFkZHJzLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJl cyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZnJlZWlmYWRkcnMgaW5ub2N1b3VzX2ZyZWVp ZmFkZHJzCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQg aG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBj aGFyIGZyZWVpZmFkZHJzICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFz c2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4 aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NU RENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5o Pgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBmcmVlaWZhZGRycwp8IAp8IC8qIE92ZXJyaWRlIGFueSBH Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJl Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZnJlZWlm YWRkcnMgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRp bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVm aW5lZCBfX3N0dWJfZnJlZWlmYWRkcnMgfHwgZGVmaW5lZCBfX3N0dWJfX19mcmVlaWZhZGRycwp8 IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZnJlZWlm YWRkcnMgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTE5NDogcmVzdWx0 OiBubwpjb25maWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciBnYWlfc3RyZXJyb3IKY29uZmlndXJl OjE1MTk0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4dCAt bFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAg LWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxNTE5NDogJD8gPSAwCmNvbmZpZ3VyZToxNTE5NDogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE1MTk0OiBjaGVja2luZyBmb3IgZ2V0bGluZQpjb25maWd1cmU6 MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg IC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1s WG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAt bHBuZzE1ID4mNSAKY29uZmlndXJlOjE1MTk0OiAkPyA9IDAKY29uZmlndXJlOjE1MTk0OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciBnZXRkZWxpbQpjb25maWd1cmU6 MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg IC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1s WG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAt bHBuZzE1ID4mNSAKY29uZmlndXJlOjE1MTk0OiAkPyA9IDAKY29uZmlndXJlOjE1MTk0OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTUxOTQ6IGNoZWNraW5nIGZvciBzeW5jCmNvbmZpZ3VyZToxNTE5 NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8z ICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUg LWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5n MTUgPiY1IApjb25maWd1cmU6MTUxOTQ6ICQ/ID0gMApjb25maWd1cmU6MTUxOTQ6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNTE5NDogY2hlY2tpbmcgZm9yIGdldHB3ZW50CmNvbmZpZ3VyZToxNTE5 NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8z ICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUg LWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5n MTUgPiY1IApjb25maWd1cmU6MTUxOTQ6ICQ/ID0gMApjb25maWd1cmU6MTUxOTQ6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNTE5NDogY2hlY2tpbmcgZm9yIGVuZHB3ZW50CmNvbmZpZ3VyZToxNTE5 NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8z ICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUg LWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5n MTUgPiY1IApjb25maWd1cmU6MTUxOTQ6ICQ/ID0gMApjb25maWd1cmU6MTUxOTQ6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNTE5NDogY2hlY2tpbmcgZm9yIGdldGdyZW50CmNvbmZpZ3VyZToxNTE5 NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8z ICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUg LWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5n MTUgPiY1IApjb25maWd1cmU6MTUxOTQ6ICQ/ID0gMApjb25maWd1cmU6MTUxOTQ6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNTE5NDogY2hlY2tpbmcgZm9yIGVuZGdyZW50CmNvbmZpZ3VyZToxNTE5 NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8z ICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUg LWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5n MTUgPiY1IApjb25maWd1cmU6MTUxOTQ6ICQ/ID0gMApjb25maWd1cmU6MTUxOTQ6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNTE5NDogY2hlY2tpbmcgZm9yIHRvdWNobG9jawpjb25maWd1cmU6MTUx OTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1P MyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11 IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBu ZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAudG91Y2hsb2Nr CmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9i dGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhp dCBzdGF0dXMKY29uZmlndXJlOjE1MTk0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18g MQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1Mg MQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAj ZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAi YWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V VFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVm aW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1Mg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVf WFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8 ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFS NiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwg I2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUg SEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8 ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAj ZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQ RUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmlu ZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAx CnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5l IE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwg I2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9T VFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5E VE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8 ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf RU5ER1JFTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgdG91Y2hsb2Nr IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgdG91 Y2hsb2NrLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBn ZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgdG91Y2hsb2NrIGlubm9jdW91c190b3VjaGxvY2sK fCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs bHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdG91 Y2hsb2NrICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBp ZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVu IG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMg aW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRp Zgp8IAp8ICN1bmRlZiB0b3VjaGxvY2sKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBt aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBf X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHRvdWNobG9jayAoKTsKfCAv KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBp bXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlv bnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl90 b3VjaGxvY2sgfHwgZGVmaW5lZCBfX3N0dWJfX190b3VjaGxvY2sKfCBjaG9rZSBtZQp8ICNlbmRp Zgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHRvdWNobG9jayAoKTsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1MTk0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTE5 NDogY2hlY2tpbmcgZm9yIGNmbWFrZXJhdwpjb25maWd1cmU6MTUxOTQ6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1X bCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAt bFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJl OjE1MTk0OiAkPyA9IDAKY29uZmlndXJlOjE1MTk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUx OTQ6IGNoZWNraW5nIGZvciBjZnNldHNwZWVkCmNvbmZpZ3VyZToxNTE5NDogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNF IC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApjb25maWd1 cmU6MTUxOTQ6ICQ/ID0gMApjb25maWd1cmU6MTUxOTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NTE5NDogY2hlY2tpbmcgZm9yIGNvcHlzaWduCmNvbmZpZ3VyZToxNTE5NDogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNF IC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApjb25mdGVz dC5jOjEzNzo2OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rp b24gJ2NvcHlzaWduJyBbZW5hYmxlZCBieSBkZWZhdWx0XQogY2hhciBjb3B5c2lnbiAoKTsKICAg ICAgXgpjb25maWd1cmU6MTUxOTQ6ICQ/ID0gMApjb25maWd1cmU6MTUxOTQ6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNTE5NDogY2hlY2tpbmcgZm9yIF9fZXhlY3V0YWJsZV9zdGFydApjb25maWd1 cmU6MTUxOTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0 IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252 ICAtbHBuZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAuX19l eGVjdXRhYmxlX3N0YXJ0CmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVp ZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxk IHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE1MTk0OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xB UkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVf TkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVT T1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2Fy ZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZF X1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVm aW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FM RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNk ZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgX19leGVjdXRhYmxlX3N0YXJ0IHRvIGFuIGlu bm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgX19leGVjdXRhYmxl X3N0YXJ0Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBn ZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgX19leGVjdXRhYmxlX3N0YXJ0IGlubm9jdW91c19f X2V4ZWN1dGFibGVfc3RhcnQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25m bGljdCB3aXRoIGNoYXIgX19leGVjdXRhYmxlX3N0YXJ0ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVy IDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8 ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAq Lwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAj IGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBfX2V4ZWN1dGFibGVfc3Rh cnQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi QyIKfCAjZW5kaWYKfCBjaGFyIF9fZXhlY3V0YWJsZV9zdGFydCAoKTsKfCAvKiBUaGUgR05VIEMg bGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwg ICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVh bGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs IG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9fX2V4ZWN1dGFibGVf c3RhcnQgfHwgZGVmaW5lZCBfX3N0dWJfX19fX2V4ZWN1dGFibGVfc3RhcnQKfCBjaG9rZSBtZQp8 ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIF9fZXhlY3V0YWJsZV9zdGFy dCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1MTk0OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToxNTE5NDogY2hlY2tpbmcgZm9yIGxvZzIKY29uZmlndXJlOjE1MTk0OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4dCAtbFhtdSAtbFh0IC1s U00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUg CmNvbmZ0ZXN0LmM6MTM4OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1p biBmdW5jdGlvbiAnbG9nMicgW2VuYWJsZWQgYnkgZGVmYXVsdF0KIGNoYXIgbG9nMiAoKTsKICAg ICAgXgpjb25maWd1cmU6MTUxOTQ6ICQ/ID0gMApjb25maWd1cmU6MTUxOTQ6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNTIzMDogY2hlY2tpbmcgZm9yIHJhbmRvbQpjb25maWd1cmU6MTUyMzA6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQg LWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4m NSAKY29uZmlndXJlOjE1MjMwOiAkPyA9IDAKY29uZmlndXJlOjE1MjMwOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTUyMzA6IGNoZWNraW5nIGZvciByaW50CmNvbmZpZ3VyZToxNTIzMDogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNN IC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApj b25mdGVzdC5jOjE0MDo2OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4g ZnVuY3Rpb24gJ3JpbnQnIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiBjaGFyIHJpbnQgKCk7CiAgICAg IF4KY29uZmlndXJlOjE1MjMwOiAkPyA9IDAKY29uZmlndXJlOjE1MjMwOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTUyNDE6IGNoZWNraW5nIGZvciBfX2J1aWx0aW5fdW53aW5kX2luaXQKY29uZmln dXJlOjE1MjU3OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4 dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29u diAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxNTI1NzogJD8gPSAwCmNvbmZpZ3VyZToxNTI2NTog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1Mjc3OiBjaGVja2luZyBmb3IgX0xBUkdFRklMRV9TT1VS Q0UgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6MTUyOTY6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv bGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAt bElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29u ZmlndXJlOjE1Mjk2OiAkPyA9IDAKY29uZmlndXJlOjE1MzI0OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNTM0OTogY2hlY2tpbmcgZm9yIGdyYW50cHQKY29uZmlndXJlOjE1MzQ5OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xp YiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJ Q0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbmZp Z3VyZToxNTM0OTogJD8gPSAwCmNvbmZpZ3VyZToxNTM0OTogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjE1MzYzOiBjaGVja2luZyBmb3IgZ2V0cHQKY29uZmlndXJlOjE1MzYzOiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAt V2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0Ug LWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmxkOiAwNzEx LTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLmdldHB0CmxkOiAwNzExLTM0NSBVc2UgdGhl IC1ibG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9u Lgpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE1 MzYzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3Mi CnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0 X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNk ZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO TlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hf STE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYg MQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVm aW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1J bnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAj ZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9Q TkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZp bmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJS Tk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAj ZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNk ZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDgg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9S RUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9H RVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEK fCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUg SEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhB VkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2V0cHQgdG8gYW4gaW5ub2N1b3Vz IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRwdC4KfCAgICBGb3IgZXhh bXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAj ZGVmaW5lIGdldHB0IGlubm9jdW91c19nZXRwdAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hp Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRwdCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8 bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAg ICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8K fCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBp bmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZ2V0cHQKfCAKfCAvKiBPdmVy cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBV c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBj aGFyIGdldHB0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9T WVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lm IGRlZmluZWQgX19zdHViX2dldHB0IHx8IGRlZmluZWQgX19zdHViX19fZ2V0cHQKfCBjaG9rZSBt ZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGdldHB0ICgpOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTUzNjM6IHJlc3VsdDogbm8KY29uZmlndXJl OjE1MzYzOiBjaGVja2luZyBmb3IgcG9zaXhfb3BlbnB0CmNvbmZpZ3VyZToxNTM2MzogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNN IC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApj b25maWd1cmU6MTUzNjM6ICQ/ID0gMApjb25maWd1cmU6MTUzNjM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNTM3ODogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyB0cHV0cwpjb25maWd1 cmU6MTU0MzQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0 IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252 ICAtbHBuZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAudHB1 dHMKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8g b2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBl eGl0IHN0YXR1cwpjb25maWd1cmU6MTU0MzQ6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhp dGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5f VVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExf SCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4g MQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJ TUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0Ug MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBI QVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gx MVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEK fCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lz dGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tG IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAKfCAgIGV4dGVybiB2b2lkIHRwdXRzIChjb25zdCBjaGFyICosIGludCwgaW50ICgqKShp bnQpKTsKfCAgICAgICAgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKfCAgICAgICAg ewp8IAkgIGlmIChhcmdjID09IDEwMDAwKQp8IAkgICAgdHB1dHMgKGFyZ3ZbMF0sIDAsIDApOwp8 IAkgIHJldHVybiAwOwp8ICAgICAgICB9CnwgCmNvbmZpZ3VyZToxNTQzNDogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sdGluZm8gLWxtIC1sWGV4dCAtbFhtdSAtbFh0IC1s U00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUg CmNvbGxlY3QyOiBmYXRhbCBlcnJvcjogbGlicmFyeSBsaWJ0aW5mbyBub3QgZm91bmQKY29tcGls YXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjE1NDM0OiAkPyA9IDEKY29uZmlndXJlOiBwcm9n cmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4z LjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBB Q0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVm aW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVm aW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBf REFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAj ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZF X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJf U0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERB VEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5l IEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNk ZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUg SEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElC WEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5l IFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBI QVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAj ZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9a TElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZp bmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VT RV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU UlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUg SEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9X TiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFM IDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAj ZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAj ZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5l IEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAx CnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmlu ZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFW RV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgCnwgICBleHRlcm4gdm9pZCB0cHV0cyAoY29uc3QgY2hhciAqLCBpbnQsIGlu dCAoKikoaW50KSk7CnwgICAgICAgIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCnwg ICAgICAgIHsKfCAJICBpZiAoYXJnYyA9PSAxMDAwMCkKfCAJICAgIHRwdXRzIChhcmd2WzBdLCAw LCAwKTsKfCAJICByZXR1cm4gMDsKfCAgICAgICAgfQp8IApjb25maWd1cmU6MTU0MzQ6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG5jdXJzZXMgLWxtIC1sWGV4dCAtbFht dSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxw bmcxNSA+JjUgCmNvbGxlY3QyOiBmYXRhbCBlcnJvcjogbGlicmFyeSBsaWJuY3Vyc2VzIG5vdCBm b3VuZApjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTU0MzQ6ICQ/ID0gMQpjb25m aWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8 ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEK fCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxB R1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhB VkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcg MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9Y MTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAx CnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZp bmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIK fCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZF X0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2Rl ZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9T TSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVm aW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAx CnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFW RV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9T RU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RS RVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0g MQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9D RlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cy IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgIGV4dGVybiB2b2lkIHRwdXRzIChjb25zdCBjaGFy ICosIGludCwgaW50ICgqKShpbnQpKTsKfCAgICAgICAgaW50IG1haW4gKGludCBhcmdjLCBjaGFy ICoqYXJndikKfCAgICAgICAgewp8IAkgIGlmIChhcmdjID09IDEwMDAwKQp8IAkgICAgdHB1dHMg KGFyZ3ZbMF0sIDAsIDApOwp8IAkgIHJldHVybiAwOwp8ICAgICAgICB9CnwgCmNvbmZpZ3VyZTox NTQzNDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAg LU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sdGVybWluZm8gLWxt IC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0g LWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbGxlY3QyOiBmYXRhbCBlcnJvcjogbGlicmFyeSBsaWJ0 ZXJtaW5mbyBub3QgZm91bmQKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjE1NDM0 OiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9M QVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZp bmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAx CnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJF U09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElC WE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2Rl ZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19h cmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFW RV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2Rl ZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVf TElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1RO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NB TEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEK fCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAj ZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUg SEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBI QVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVm aW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf T1BFTlBUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgICBleHRlcm4gdm9pZCB0cHV0 cyAoY29uc3QgY2hhciAqLCBpbnQsIGludCAoKikoaW50KSk7CnwgICAgICAgIGludCBtYWluIChp bnQgYXJnYywgY2hhciAqKmFyZ3YpCnwgICAgICAgIHsKfCAJICBpZiAoYXJnYyA9PSAxMDAwMCkK fCAJICAgIHRwdXRzIChhcmd2WzBdLCAwLCAwKTsKfCAJICByZXR1cm4gMDsKfCAgICAgICAgfQp8 IApjb25maWd1cmU6MTU0MzQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAt bHRlcm1jYXAgLWxtIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFk IC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbGxlY3QyOiBmYXRhbCBlcnJvcjog bGlicmFyeSBsaWJ0ZXJtY2FwIG5vdCBmb3VuZApjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25m aWd1cmU6MTU0MzQ6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVz IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9E RSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZT Q1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZp bmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVf WElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0 ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9U SUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFW RV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VU QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEK fCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1B S0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJ R04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwg I2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgIGV4dGVy biB2b2lkIHRwdXRzIChjb25zdCBjaGFyICosIGludCwgaW50ICgqKShpbnQpKTsKfCAgICAgICAg aW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKfCAgICAgICAgewp8IAkgIGlmIChhcmdj ID09IDEwMDAwKQp8IAkgICAgdHB1dHMgKGFyZ3ZbMF0sIDAsIDApOwp8IAkgIHJldHVybiAwOwp8 ICAgICAgICB9CnwgCmNvbmZpZ3VyZToxNTQzNDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1sY3Vyc2VzIC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDEx IC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MTU0 MzQ6ICQ/ID0gMApjb25maWd1cmU6MTU0MzQ6IC4vY29uZnRlc3QKY29uZmlndXJlOjE1NDM0OiAk PyA9IDAKY29uZmlndXJlOjE1NDQ5OiByZXN1bHQ6IC1sY3Vyc2VzCmNvbmZpZ3VyZToxNTU3Njog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUgLWxY dCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUg PiY1IApjb25maWd1cmU6MTU1NzY6ICQ/ID0gMApjb25maWd1cmU6MTYyNjM6IGNoZWNraW5nIHZh bGdyaW5kL3ZhbGdyaW5kLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNjI2MzogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MTU3OjMxOiBmYXRhbCBl cnJvcjogdmFsZ3JpbmQvdmFsZ3JpbmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2lu Y2x1ZGUgPHZhbGdyaW5kL3ZhbGdyaW5kLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxNjI2MzogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05F VF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9B REFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19G SUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVF TlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEK fCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUg SEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVf TElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwg I2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFj a19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUg SEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwg I2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhP U1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NV UlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVf U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRM T0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZP IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEK fCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmlu ZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEK fCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAj ZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZF X1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9T SVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNp bmNsdWRlIDx2YWxncmluZC92YWxncmluZC5oPgpjb25maWd1cmU6MTYyNjM6IHJlc3VsdDogbm8K Y29uZmlndXJlOjE2MjYzOiBjaGVja2luZyB2YWxncmluZC92YWxncmluZC5oIHByZXNlbmNlCmNv bmZpZ3VyZToxNjI2MzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLUUgICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYwpjb25mdGVzdC5jOjEyNDozMTog ZmF0YWwgZXJyb3I6IHZhbGdyaW5kL3ZhbGdyaW5kLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv cnkKICNpbmNsdWRlIDx2YWxncmluZC92YWxncmluZC5oPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTYyNjM6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2Rl ZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5l IF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwg I2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RF IDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZF X0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZF X1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlND UkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRl Q2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAj ZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJ RkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZF X0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRB RERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElU SU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEK fCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVf R0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFL RVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lH TiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZp bmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAj ZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JF U19JTklUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHZhbGdyaW5kL3Zh bGdyaW5kLmg+CmNvbmZpZ3VyZToxNjI2MzogcmVzdWx0OiBubwpjb25maWd1cmU6MTYyNjM6IGNo ZWNraW5nIGZvciB2YWxncmluZC92YWxncmluZC5oCmNvbmZpZ3VyZToxNjI2MzogcmVzdWx0OiBu bwpjb25maWd1cmU6MTYyODA6IGNoZWNraW5nIGZvciB0enNldApjb25maWd1cmU6MTYyODA6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQg LWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4m NSAKY29uZmlndXJlOjE2MjgwOiAkPyA9IDAKY29uZmlndXJlOjE2MjgwOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTYyODA6IGNoZWNraW5nIGZvciByZWFkbGlua2F0CmNvbmZpZ3VyZToxNjI4MDog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUgLWxY dCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUg PiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5yZWFkbGlua2F0Cmxk OiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFp biBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBz dGF0dXMKY29uZmlndXJlOjE2MjgwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVm aW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4 Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNO QU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJN U0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAx CnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2Rl ZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFW RV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNk ZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVm aW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBI QVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwg I2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1B SUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZF X0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NI VVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJT SUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8g MQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig MQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNk ZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E R1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQ RUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAj ZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZF X19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmlu ZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUg VEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VU IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHJlYWRsaW5rYXQgdG8gYW4g aW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyByZWFkbGlua2F0 Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1l b2ZkYXkuICAqLwp8ICNkZWZpbmUgcmVhZGxpbmthdCBpbm5vY3VvdXNfcmVhZGxpbmthdAp8IAp8 IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBm ZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciByZWFkbGlu a2F0ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBf X1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9u IGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5j bHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8 IAp8ICN1bmRlZiByZWFkbGlua2F0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19j cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciByZWFkbGlua2F0ICgpOwp8IC8q IFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGlt cGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9u cyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5k IHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3Jl YWRsaW5rYXQgfHwgZGVmaW5lZCBfX3N0dWJfX19yZWFkbGlua2F0CnwgY2hva2UgbWUKfCAjZW5k aWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiByZWFkbGlua2F0ICgpOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTYyODA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2 MjgwOiBjaGVja2luZyBmb3IgZmFjY2Vzc2F0CmNvbmZpZ3VyZToxNjI4MDogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNF IC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApsZDogMDcx MS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5mYWNjZXNzYXQKbGQ6IDA3MTEtMzQ1IFVz ZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3Jt YXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1 cmU6MTYyODA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJl bWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9V U0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElN SVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhB VkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDEx WFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8 ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0 ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0g MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBI QVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwg I2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVf SF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0Yg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9S QU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VO V0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQ VCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwg I2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZmFjY2Vzc2F0IHRvIGFuIGlubm9jdW91cyB2YXJp YW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZmFjY2Vzc2F0Lgp8ICAgIEZvciBleGFt cGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNk ZWZpbmUgZmFjY2Vzc2F0IGlubm9jdW91c19mYWNjZXNzYXQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVy IHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwg ICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZmFjY2Vzc2F0ICgpOyBiZWxvdy4KfCAg ICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVk LCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21w aWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+Cnwg I2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBmYWNjZXNz YXQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi QyIKfCAjZW5kaWYKfCBjaGFyIGZhY2Nlc3NhdCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBk ZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFs d2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVk CnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMg YW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9mYWNjZXNzYXQgfHwgZGVmaW5lZCBf X3N0dWJfX19mYWNjZXNzYXQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkK fCB7CnwgcmV0dXJuIGZhY2Nlc3NhdCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjE2MjgwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjI4MDogY2hlY2tpbmcgZm9yIGZjbnRs CmNvbmZpZ3VyZToxNjI4MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt byBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAt TDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1s bSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElN IC1saWNvbnYgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MTYyODA6ICQ/ID0gMApjb25maWd1cmU6 MTYyODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjI4MDogY2hlY2tpbmcgZm9yIGZkb3BlbmRp cgpjb25maWd1cmU6MTYyODA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAt bG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJ TSAtbGljb252ICAtbHBuZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3lt Ym9sOiAuZmRvcGVuZGlyCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVp ZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxk IHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE2MjgwOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xB UkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVf TkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVT T1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2Fy ZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZF X1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVm aW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FM RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNk ZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZp bmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwg I2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZmRvcGVuZGlyIHRvIGFuIGlubm9jdW91cyB2YXJpYW50 LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZmRvcGVuZGlyLgp8ICAgIEZvciBleGFtcGxl LCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZp bmUgZmRvcGVuZGlyIGlubm9jdW91c19mZG9wZW5kaXIKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRv IGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAg IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZmRvcGVuZGlyICgpOyBiZWxvdy4KfCAgICAg UHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBz aW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxl cnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vs c2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBmZG9wZW5kaXIK fCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBl cnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5 cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIK fCAjZW5kaWYKfCBjaGFyIGZkb3BlbmRpciAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZp bmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5 cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwg ICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4g YWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9mZG9wZW5kaXIgfHwgZGVmaW5lZCBfX3N0 dWJfX19mZG9wZW5kaXIKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7 CnwgcmV0dXJuIGZkb3BlbmRpciAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjE2MjgwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjI4MDogY2hlY2tpbmcgZm9yIGZzdGF0YXQK Y29uZmlndXJlOjE2MjgwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxt IC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0g LWxpY29udiAgLWxwbmcxNSA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJv bDogLmZzdGF0YXQKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBv cHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0 dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTYyODA6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAy NC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMu OTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0Vf RklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VO X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElT VCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNk ZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJD RVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmlu ZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAx CnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBY UG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5H IDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUg SEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0g MQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK fCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVf R0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9H RVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmlu ZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBI QVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEK fCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNF RUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5Q VCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVm aW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IC8qIERlZmluZSBmc3RhdGF0IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBj YXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZnN0YXRhdC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVgg MTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGZzdGF0 YXQgaW5ub2N1b3VzX2ZzdGF0YXQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0 dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBj b25mbGljdCB3aXRoIGNoYXIgZnN0YXRhdCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRz Lmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxp bWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAj aWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRl IDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZnN0YXRhdAp8IAp8IC8qIE92ZXJyaWRl IGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs eS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIg ZnN0YXRhdCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0 aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBk ZWZpbmVkIF9fc3R1Yl9mc3RhdGF0IHx8IGRlZmluZWQgX19zdHViX19fZnN0YXRhdAp8IGNob2tl IG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZnN0YXRhdCAoKTsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2MjgwOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxNjI4MDogY2hlY2tpbmcgZm9yIGZzeW5jCmNvbmZpZ3VyZToxNjI4MDogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9s aWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1s SUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApjb25m aWd1cmU6MTYyODA6ICQ/ID0gMApjb25maWd1cmU6MTYyODA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNjI4MDogY2hlY2tpbmcgZm9yIGdldHRpbWVvZmRheQpjb25maWd1cmU6MTYyODA6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxT TSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAK Y29uZmlndXJlOjE2MjgwOiAkPyA9IDAKY29uZmlndXJlOjE2MjgwOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTYyODA6IGNoZWNraW5nIGZvciBuYW5vdGltZQpjb25maWd1cmU6MTYyODA6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxT TSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAK bGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAubmFub3RpbWUKbGQ6IDA3MTEt MzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUg aW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpj b25maWd1cmU6MTYyODA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45 MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNL QUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmlu ZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RB UldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElT VCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZ U19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NB X0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf TU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRB QkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVm aW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhB VkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhF WFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBY UmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFW RV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2Rl ZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJ QiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf TE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBI QVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8 ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlM VElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVf R1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5G TyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNk ZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf R0VUVElNRU9GREFZIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIG5hbm90 aW1lIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMg bmFub3RpbWUuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVz IGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBuYW5vdGltZSBpbm5vY3VvdXNfbmFub3RpbWUK fCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs bHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgbmFu b3RpbWUgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlm IF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4g b24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBp bmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlm CnwgCnwgI3VuZGVmIG5hbm90aW1lCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19j cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBuYW5vdGltZSAoKTsKfCAvKiBU aGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs ZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMg YXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0 aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9uYW5v dGltZSB8fCBkZWZpbmVkIF9fc3R1Yl9fX25hbm90aW1lCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAK fCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBuYW5vdGltZSAoKTsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjE2MjgwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjI4MDogY2hl Y2tpbmcgZm9yIGxzdGF0CmNvbmZpZ3VyZToxNjI4MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9j ICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRo cmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MTYyODA6ICQ/ ID0gMApjb25maWd1cmU6MTYyODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjI4MDogY2hlY2tp bmcgZm9yIG1rb3N0ZW1wCmNvbmZpZ3VyZToxNjI4MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9j ICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRo cmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6 IFVuZGVmaW5lZCBzeW1ib2w6IC5ta29zdGVtcApsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRt YXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVj dDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNjI4MDogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAj ZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZp bmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEK fCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5P REUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9G U0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVm aW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZF X1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlh dGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVf VElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAj ZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBI QVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhB VkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVm aW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAx CnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFW RV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZN QUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlT SUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVf UkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEK fCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNk ZWZpbmUgSEFWRV9MU1RBVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBt a29zdGVtcCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xh cmVzIG1rb3N0ZW1wLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNs YXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgbWtvc3RlbXAgaW5ub2N1b3VzX21rb3N0 ZW1wCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9w ZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFy IG1rb3N0ZW1wICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5o PiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBl dmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8 ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNl bmRpZgp8IAp8ICN1bmRlZiBta29zdGVtcAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJu YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50 IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRo ZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVm IF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgbWtvc3RlbXAgKCk7Cnwg LyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQg aW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rp b25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBh bmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJf bWtvc3RlbXAgfHwgZGVmaW5lZCBfX3N0dWJfX19ta29zdGVtcAp8IGNob2tlIG1lCnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gbWtvc3RlbXAgKCk7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNjI4MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTYyODA6 IGNoZWNraW5nIGZvciBwaXBlMgpjb25maWd1cmU6MTYyODA6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJp Z3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAt bHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVS Uk9SOiBVbmRlZmluZWQgc3ltYm9sOiAucGlwZTIKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2Fk bWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxl Y3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTYyODA6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lO T0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJP RlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEK fCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFW RV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRp YXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUg SEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEK fCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZF X1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwg I2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUg SEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBI QVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2Rl ZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9H RVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NF VElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9N IDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUg MQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZp bmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NG TUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZ U0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNk ZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUg cGlwZTIgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJl cyBwaXBlMi4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMg Z2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHBpcGUyIGlubm9jdW91c19waXBlMgp8IAp8IC8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBwaXBlMiAoKTsg YmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18g aXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3Rh bmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxp bWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5k ZWYgcGlwZTIKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4 dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHBpcGUyICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5 IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8g YWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt ZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBp cyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3BpcGUyIHx8IGRlZmluZWQgX19z dHViX19fcGlwZTIKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg cmV0dXJuIHBpcGUyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTYyODA6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE2MjgwOiBjaGVja2luZyBmb3IgcHNlbGVjdApjb25maWd1 cmU6MTYyODA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0 IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252 ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE2MjgwOiAkPyA9IDAKY29uZmlndXJlOjE2MjgwOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTYyODA6IGNoZWNraW5nIGZvciBwdGhyZWFkX3NpZ21hc2sK Y29uZmlndXJlOjE2MjgwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxt IC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0g LWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxNjI4MDogJD8gPSAwCmNvbmZpZ3VyZTox NjI4MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MjgwOiBjaGVja2luZyBmb3IgZmNobW9kCmNv bmZpZ3VyZToxNjI4MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAt bFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1s aWNvbnYgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MTYyODA6ICQ/ID0gMApjb25maWd1cmU6MTYy ODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjI4MDogY2hlY2tpbmcgZm9yIHJlYWRsaW5rCmNv bmZpZ3VyZToxNjI4MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAt bFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1s aWNvbnYgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MTYyODA6ICQ/ID0gMApjb25maWd1cmU6MTYy ODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjI4MDogY2hlY2tpbmcgZm9yIHN0cnRvaW1heApj b25maWd1cmU6MTYyODA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0g LWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAt bGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE2MjgwOiAkPyA9IDAKY29uZmlndXJlOjE2 MjgwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYyODA6IGNoZWNraW5nIGZvciBzdHJ0b3VtYXgK Y29uZmlndXJlOjE2MjgwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxt IC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0g LWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxNjI4MDogJD8gPSAwCmNvbmZpZ3VyZTox NjI4MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MjgwOiBjaGVja2luZyBmb3Igc3ltbGluawpj b25maWd1cmU6MTYyODA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0g LWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAt bGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE2MjgwOiAkPyA9IDAKY29uZmlndXJlOjE2 MjgwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYyODA6IGNoZWNraW5nIGZvciBsb2NhbHRpbWVf cgpjb25maWd1cmU6MTYyODA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAt bG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJ TSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE2MjgwOiAkPyA9IDAKY29uZmlndXJl OjE2MjgwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYyODA6IGNoZWNraW5nIGZvciBmdXRpbWVz CmNvbmZpZ3VyZToxNjI4MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt byBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAt TDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1s bSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElN IC1saWNvbnYgIC1scG5nMTUgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1i b2w6IC5mdXRpbWVzCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVpZXQg b3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxkIHJl dHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE2MjgwOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4z LjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19F WFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9D X1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdF X0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBT WVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBI QVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJ U1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0gg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFN RVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAj ZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VS Q0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZp bmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gx MVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUg MQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYg WFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2Rl ZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BO RyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJN IDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9E SVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNk ZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVf R0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZp bmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUg SEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAx CnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZT RUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVO UFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2Rl ZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9G U1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFU IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVm aW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGZ1dGltZXMgdG8gYW4gaW5ub2N1b3VzIHZhcmlh bnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBmdXRpbWVzLgp8ICAgIEZvciBleGFtcGxl LCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZp bmUgZnV0aW1lcyBpbm5vY3VvdXNfZnV0aW1lcwp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hp Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBmdXRpbWVzICgpOyBiZWxvdy4KfCAgICAgUHJlZmVy IDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8 ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAq Lwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAj IGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBmdXRpbWVzCnwgCnwgLyog T3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwg ICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg R0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0 aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlm CnwgY2hhciBmdXRpbWVzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBm b3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0 aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRo aW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICov CnwgI2lmIGRlZmluZWQgX19zdHViX2Z1dGltZXMgfHwgZGVmaW5lZCBfX3N0dWJfX19mdXRpbWVz CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmdXRp bWVzICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTYyODA6IHJlc3VsdDog bm8KY29uZmlndXJlOjE2MjgwOiBjaGVja2luZyBmb3IgZnV0aW1lc2F0CmNvbmZpZ3VyZToxNjI4 MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8z ICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUg LWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5n MTUgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5mdXRpbWVzYXQK bGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0 YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0 IHN0YXR1cwpjb25maWd1cmU6MTYyODA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNk ZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJh aXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VU U05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJN X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9Y Uk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAj ZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBI QVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5l IEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NU UlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRU TyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUg MQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwg I2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VU U1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUg SEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1M SU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAvKiBEZWZpbmUgZnV0aW1lc2F0IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl IDxsaW1pdHMuaD4gZGVjbGFyZXMgZnV0aW1lc2F0Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAx MWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZnV0aW1l c2F0IGlubm9jdW91c19mdXRpbWVzYXQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBf X3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNh biBjb25mbGljdCB3aXRoIGNoYXIgZnV0aW1lc2F0ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxs aW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAg ICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8 IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGlu Y2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBmdXRpbWVzYXQKfCAKfCAvKiBP dmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAg ICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBH Q0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3Rp bGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYK fCBjaGFyIGZ1dGltZXNhdCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMg Zm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdp dGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0 aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAq Lwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9mdXRpbWVzYXQgfHwgZGVmaW5lZCBfX3N0dWJfX19mdXRp bWVzYXQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IGZ1dGltZXNhdCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2MjgwOiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjI4MDogY2hlY2tpbmcgZm9yIGZ1dGltZW5zCmNvbmZpZ3Vy ZToxNjI4MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVz dCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtbFhleHQg LWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYg IC1scG5nMTUgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5mdXRp bWVucwpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0 byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4 IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNjI4MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBI QVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5H IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0g MQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVm aW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVy CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hf U00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NU UkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElN IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVf Q0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBI QVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IC8qIERlZmluZSBmdXRpbWVucyB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4g Y2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGZ1dGltZW5zLgp8ICAgIEZvciBleGFtcGxlLCBIUC1V WCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZnV0 aW1lbnMgaW5ub2N1b3VzX2Z1dGltZW5zCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBj YW4gY29uZmxpY3Qgd2l0aCBjaGFyIGZ1dGltZW5zICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxs aW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAg ICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8 IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGlu Y2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBmdXRpbWVucwp8IAp8IC8qIE92 ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAg IFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdD Qwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls bCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8 IGNoYXIgZnV0aW1lbnMgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRo IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhp bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8K fCAjaWYgZGVmaW5lZCBfX3N0dWJfZnV0aW1lbnMgfHwgZGVmaW5lZCBfX3N0dWJfX19mdXRpbWVu cwp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZnV0 aW1lbnMgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNjI4MDogcmVzdWx0 OiBubwpjb25maWd1cmU6MTYyODA6IGNoZWNraW5nIGZvciB1dGltZW5zYXQKY29uZmlndXJlOjE2 MjgwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAt TzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4dCAtbFht dSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxw bmcxNSA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLnV0aW1lbnNh dApsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBv YnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4 aXQgc3RhdHVzCmNvbmZpZ3VyZToxNjI4MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwg I2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZF X1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEK fCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5l IEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwg I2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZp bmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00g MQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmlu ZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUg SEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVf U1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VO RFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVS Uk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEK fCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZT RVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNk ZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVm aW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9U WlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZF X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IC8qIERlZmluZSB1dGltZW5zYXQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNh c2UgPGxpbWl0cy5oPiBkZWNsYXJlcyB1dGltZW5zYXQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVY IDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSB1dGlt ZW5zYXQgaW5ub2N1b3VzX3V0aW1lbnNhdAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5l IF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2gg Y2FuIGNvbmZsaWN0IHdpdGggY2hhciB1dGltZW5zYXQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIg PGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwg ICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICov CnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMg aW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHV0aW1lbnNhdAp8IAp8IC8q IE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8 ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBh IEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRp Zgp8IGNoYXIgdXRpbWVuc2F0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwg d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29t ZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4g ICovCnwgI2lmIGRlZmluZWQgX19zdHViX3V0aW1lbnNhdCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3V0 aW1lbnNhdAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1 cm4gdXRpbWVuc2F0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTYyODA6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE2MjgwOiBjaGVja2luZyBmb3IgbHV0aW1lcwpjb25maWd1 cmU6MTYyODA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0 IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252 ICAtbHBuZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAubHV0 aW1lcwpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0 byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4 IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNjI4MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBI QVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5H IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0g MQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVm aW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVy CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hf U00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NU UkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElN IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVf Q0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBI QVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IC8qIERlZmluZSBsdXRpbWVzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBj YXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgbHV0aW1lcy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVgg MTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGx1dGlt ZXMgaW5ub2N1b3VzX2x1dGltZXMKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0 dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBj b25mbGljdCB3aXRoIGNoYXIgbHV0aW1lcyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRz Lmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxp bWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAj aWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRl IDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbHV0aW1lcwp8IAp8IC8qIE92ZXJyaWRl IGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs eS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIg bHV0aW1lcyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0 aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBk ZWZpbmVkIF9fc3R1Yl9sdXRpbWVzIHx8IGRlZmluZWQgX19zdHViX19fbHV0aW1lcwp8IGNob2tl IG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gbHV0aW1lcyAoKTsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2MjgwOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxNjI4MDogY2hlY2tpbmcgZm9yIGdldGR0YWJsZXNpemUKY29uZmlndXJlOjE2MjgwOiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4dCAtbFhtdSAtbFh0 IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+ JjUgCmNvbmZpZ3VyZToxNjI4MDogJD8gPSAwCmNvbmZpZ3VyZToxNjI4MDogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE2MjgwOiBjaGVja2luZyBmb3Igc2VjdXJlX2dldGVudgpjb25maWd1cmU6MTYy ODA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1P MyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11 IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBu ZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAuc2VjdXJlX2dl dGVudgpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0 byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4 IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNjI4MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBI QVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5H IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0g MQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVm aW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVy CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hf U00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NU UkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElN IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVf Q0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBI QVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dF VERUQUJMRVNJWkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc2VjdXJl X2dldGVudiB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xh cmVzIHNlY3VyZV9nZXRlbnYuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+ IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBzZWN1cmVfZ2V0ZW52IGlubm9j dW91c19zZWN1cmVfZ2V0ZW52CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29u ZmxpY3Qgd2l0aCBjaGFyIHNlY3VyZV9nZXRlbnYgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxp bWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAg IDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwg CnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5j bHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHNlY3VyZV9nZXRlbnYKfCAKfCAv KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4K fCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg c3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5k aWYKfCBjaGFyIHNlY3VyZV9nZXRlbnYgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5l cyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMg ZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAg ICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFs aWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfc2VjdXJlX2dldGVudiB8fCBkZWZpbmVkIF9f c3R1Yl9fX3NlY3VyZV9nZXRlbnYKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4g KCkKfCB7CnwgcmV0dXJuIHNlY3VyZV9nZXRlbnYgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZToxNjI4MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTYyOTI6IGNoZWNraW5nIHdo ZXRoZXIgbG9jYWx0aW1lIGNhY2hlcyBUWgpjb25maWd1cmU6MTYzMjY6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1X bCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAt bFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZnRlc3Qu YzoxNDE6MTogd2FybmluZzogcmV0dXJuIHR5cGUgZGVmYXVsdHMgdG8gJ2ludCcgW2VuYWJsZWQg YnkgZGVmYXVsdF0KIG1haW4oKQogXgpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNv bmZ0ZXN0LmM6MTQ1OjM6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9u ICdwdXRlbnYnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBpZiAocHV0ZW52 IChUWl9HTVQwKSAhPSAwKQogICBeCmNvbmZ0ZXN0LmM6MTQ2OjU6IHdhcm5pbmc6IGltcGxpY2l0 IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdleGl0JyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICAgICBleGl0ICgxKTsKICAgICBeCmNvbmZ0ZXN0LmM6MTQ2OjU6IHdhcm5pbmc6 IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAn ZXhpdCcgW2VuYWJsZWQgYnkgZGVmYXVsdF0KY29uZnRlc3QuYzoxNDg6Mzogd2FybmluZzogaW1w bGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3Vuc2V0ZW52JyBbLVdpbXBsaWNpdC1mdW5j dGlvbi1kZWNsYXJhdGlvbl0KICAgdW5zZXRlbnYoIlRaIik7CiAgIF4KY29uZnRlc3QuYzoxNTE6 NTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWlu IGZ1bmN0aW9uICdleGl0JyBbZW5hYmxlZCBieSBkZWZhdWx0XQogICAgIGV4aXQgKDEpOwogICAg IF4KY29uZnRlc3QuYzoxNTM6NTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xh cmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0JyBbZW5hYmxlZCBieSBkZWZhdWx0XQog ICAgIGV4aXQgKDEpOwogICAgIF4KY29uZnRlc3QuYzoxNTY6NTogd2FybmluZzogaW5jb21wYXRp YmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0JyBbZW5h YmxlZCBieSBkZWZhdWx0XQogICAgIGV4aXQgKDEpOwogICAgIF4KY29uZnRlc3QuYzoxNTc6Mzog d2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1 bmN0aW9uICdleGl0JyBbZW5hYmxlZCBieSBkZWZhdWx0XQogICBleGl0ICgwKTsKICAgXgpjb25m aWd1cmU6MTYzMjY6ICQ/ID0gMApjb25maWd1cmU6MTYzMjY6IC4vY29uZnRlc3QKY29uZmlndXJl OjE2MzI2OiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8 ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9f X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9C Uk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFND UkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVO IDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZp bmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhB VkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAx CnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxs YmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQ RUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZp bmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAx CnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5l IEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dF VEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VU X0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVS IDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNk ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFX IDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEK fCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZp bmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVf UE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAx CnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8dGltZS5oPgp8IGNoYXIgVFpfR01UMFtdID0gIlRaPUdNVDAiOwp8IGNoYXIg VFpfUFNUOFtdID0gIlRaPVBTVDgiOwp8IG1haW4oKQp8IHsKfCAgIHRpbWVfdCBub3cgPSB0aW1l ICgodGltZV90ICopIDApOwp8ICAgaW50IGhvdXJfR01UMCwgaG91cl91bnNldDsKfCAgIGlmIChw dXRlbnYgKFRaX0dNVDApICE9IDApCnwgICAgIGV4aXQgKDEpOwp8ICAgaG91cl9HTVQwID0gbG9j YWx0aW1lICgmbm93KS0+dG1faG91cjsKfCAgIHVuc2V0ZW52KCJUWiIpOwp8ICAgaG91cl91bnNl dCA9IGxvY2FsdGltZSAoJm5vdyktPnRtX2hvdXI7CnwgICBpZiAocHV0ZW52IChUWl9QU1Q4KSAh PSAwKQp8ICAgICBleGl0ICgxKTsKfCAgIGlmIChsb2NhbHRpbWUgKCZub3cpLT50bV9ob3VyID09 IGhvdXJfR01UMCkKfCAgICAgZXhpdCAoMSk7CnwgICB1bnNldGVudigiVFoiKTsKfCAgIGlmIChs b2NhbHRpbWUgKCZub3cpLT50bV9ob3VyICE9IGhvdXJfdW5zZXQpCnwgICAgIGV4aXQgKDEpOwp8 ICAgZXhpdCAoMCk7CnwgfQpjb25maWd1cmU6MTYzNDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NjM1MDogY2hlY2tpbmcgZm9yIHNvY2tldApjb25maWd1cmU6MTYzNTA6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1X bCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAt bFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJl OjE2MzUwOiAkPyA9IDAKY29uZmlndXJlOjE2MzUwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYz NTg6IGNoZWNraW5nIG5ldGluZXQvaW4uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE2MzU4OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jICAtTzMgICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE2MzU4OiAk PyA9IDAKY29uZmlndXJlOjE2MzU4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYzNTg6IGNoZWNr aW5nIG5ldGluZXQvaW4uaCBwcmVzZW5jZQpjb25maWd1cmU6MTYzNTg6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1FICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNv bmZ0ZXN0LmMKY29uZmlndXJlOjE2MzU4OiAkPyA9IDAKY29uZmlndXJlOjE2MzU4OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTYzNTg6IGNoZWNraW5nIGZvciBuZXRpbmV0L2luLmgKY29uZmlndXJl OjE2MzU4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYzNjg6IGNoZWNraW5nIGFycGEvaW5ldC5o IHVzYWJpbGl0eQpjb25maWd1cmU6MTYzNjg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLWMgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6MTYzNjg6ICQ/ID0gMApjb25maWd1cmU6MTYzNjg6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNjM2ODogY2hlY2tpbmcgYXJwYS9pbmV0LmggcHJlc2VuY2UK Y29uZmlndXJlOjE2MzY4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtRSAgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNjM2ODog JD8gPSAwCmNvbmZpZ3VyZToxNjM2ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MzY4OiBjaGVj a2luZyBmb3IgYXJwYS9pbmV0LmgKY29uZmlndXJlOjE2MzY4OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTYzODg6IGNoZWNraW5nIGZvciBwaWRfdApjb25maWd1cmU6MTYzODg6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTYzODg6ICQ/ID0gMApj b25maWd1cmU6MTYzODg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMg IC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTc2OjIwOiBlcnJv cjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgocGlk X3QpKSkKICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToxNjM4ODogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05F VF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9B REFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19G SUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVF TlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEK fCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUg SEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVf TElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwg I2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFj a19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUg SEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwg I2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhP U1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NV UlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVf U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRM T0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZP IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEK fCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmlu ZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEK fCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAj ZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZF X1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9T SVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFW RV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElO SyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAx CnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwg I2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEK fCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1 ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFW RV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmlu ZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGlu Y2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5j bHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGlu Y2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGlu Y2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNs dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2Yg KChwaWRfdCkpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZToxNjM4ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NDAxOiBjaGVja2luZyB2Zm9yay5o IHVzYWJpbGl0eQpjb25maWd1cmU6MTY0MDE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLWMgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE3MzoxOTogZmF0YWwgZXJyb3I6IHZmb3JrLmg6IE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDx2Zm9yay5oPgogICAgICAgICAgICAg ICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTY0MDE6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9Q T1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEK fCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xP TkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVF TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVm aW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBI QVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0g MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2Fs bGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYg MQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBI QVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf U0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERS SU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1F UiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAj ZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFW RV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VU R1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJB VyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAx CnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUg SEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZF X1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19J TklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5l IEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1Ig MQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNI RSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHZmb3JrLmg+CmNvbmZpZ3Vy ZToxNjQwMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY0MDE6IGNoZWNraW5nIHZmb3JrLmggcHJl c2VuY2UKY29uZmlndXJlOjE2NDAxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtRSAgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6 MTQwOjE5OiBmYXRhbCBlcnJvcjogdmZvcmsuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQog I2luY2x1ZGUgPHZmb3JrLmg+CiAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1p bmF0ZWQuCmNvbmZpZ3VyZToxNjQwMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVm aW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2Rl ZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFp eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRT TkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1f SCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hS TVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAj ZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYg MQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNk ZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhB VkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAj ZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2Rl ZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVH IDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUg SEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8 ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBN QUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T SFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RS U0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRP IDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S IDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAj ZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VO REdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRT UEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwg I2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFW RV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZp bmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5l IFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNF VCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJM RVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9T T0NLRVRTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHZmb3JrLmg+CmNv bmZpZ3VyZToxNjQwMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY0MDE6IGNoZWNraW5nIGZvciB2 Zm9yay5oCmNvbmZpZ3VyZToxNjQwMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY0MTQ6IGNoZWNr aW5nIGZvciBmb3JrCmNvbmZpZ3VyZToxNjQxNDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1sbSAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVh ZCAtbHJ0cyAtbElNIC1saWNvbnYgIC1scG5nMTUgPiY1IApjb25mdGVzdC5jOjE2Mzo2OiB3YXJu aW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ2ZvcmsnIFtlbmFi bGVkIGJ5IGRlZmF1bHRdCiBjaGFyIGZvcmsgKCk7CiAgICAgIF4KY29uZmlndXJlOjE2NDE0OiAk PyA9IDAKY29uZmlndXJlOjE2NDE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY0MTQ6IGNoZWNr aW5nIGZvciB2Zm9yawpjb25maWd1cmU6MTY0MTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAg Y29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJl YWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE2NDE0OiAkPyA9 IDAKY29uZmlndXJlOjE2NDE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY0MjQ6IGNoZWNraW5n IGZvciB3b3JraW5nIGZvcmsKY29uZmlndXJlOjE2NDQ2OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0 b2MgIGNvbmZ0ZXN0LmMgLWxtIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxw dGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxNjQ0Njog JD8gPSAwCmNvbmZpZ3VyZToxNjQ0NjogLi9jb25mdGVzdApjb25maWd1cmU6MTY0NDY6ICQ/ID0g MApjb25maWd1cmU6MTY0NTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjQ3NzogY2hlY2tpbmcg Zm9yIHdvcmtpbmcgdmZvcmsKY29uZmlndXJlOjE2NTg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTY2MTU6IGNoZWNraW5nIGZvciBzbnByaW50Zgpjb25maWd1cmU6MTY2MTU6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGli IC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElD RSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZnRl c3QuYzoxNjc6Njogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0 aW9uICdzbnByaW50ZicgW2VuYWJsZWQgYnkgZGVmYXVsdF0KIGNoYXIgc25wcmludGYgKCk7CiAg ICAgIF4KY29uZmlndXJlOjE2NjE1OiAkPyA9IDAKY29uZmlndXJlOjE2NjE1OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTY2MzA6IGNoZWNraW5nIHdoZXRoZXIgR0xpYiBpcyBsaW5rZWQgaW4KY29u ZmlndXJlOjE2NjQ0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAt bFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1s aWNvbnYgIC1scG5nMTUgID4mNSAKY29uZnRlc3QuYzoxNDU6MTg6IGZhdGFsIGVycm9yOiBnbGli Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxnbGliLmg+CiAgICAgICAg ICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjE2NjQ0OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9E RSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZT Q1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZp bmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVf WElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0 ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9U SUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFW RV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VU QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEK fCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1B S0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJ R04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwg I2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9S RVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElN RV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVf Q0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JL IDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8Z2xpYi5oPgp8IAp8IGludAp8IG1h aW4gKCkKfCB7CnwgZ19wcmludCAoIkhlbGxvIHdvcmxkIik7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToxNjY1MTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY2NjU6IGNoZWNraW5n IGZvciBubF9sYW5naW5mbyBhbmQgQ09ERVNFVApjb25maWd1cmU6MTY2ODE6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGli IC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElD RSAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZmln dXJlOjE2NjgxOiAkPyA9IDAKY29uZmlndXJlOjE2NjkwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTY2OTg6IGNoZWNraW5nIGZvciBtYnN0YXRlX3QKY29uZmlndXJlOjE2NzE1OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE2NzE1OiAkPyA9IDAK Y29uZmlndXJlOjE2NzIyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY3MzQ6IGNoZWNraW5nIGZv ciBDIHJlc3RyaWN0ZWQgYXJyYXkgZGVjbGFyYXRpb25zCmNvbmZpZ3VyZToxNjc1MDogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAgLU8zICAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNjc1MDogJD8g PSAwCmNvbmZpZ3VyZToxNjc1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3MjEzOiBjaGVja2lu ZyBmb3IgX3NldGptcApjb25maWd1cmU6MTcyMzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAg Y29uZnRlc3QuYyAtbG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAtbFgxMSAtbHB0aHJl YWQgLWxydHMgLWxJTSAtbGljb252ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE3MjM1OiAkPyA9 IDAKY29uZmlndXJlOjE3MjQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTczMjg6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1FICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNs dWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE3MzI4OiAkPyA9IDAKY29uZmlndXJlOjE3NDA3OiBj aGVja2luZyBmb3IgdXNhYmxlIEZJT05SRUFECmNvbmZpZ3VyZToxNzQ0NzogcmVzdWx0OiBubwpj b25maWd1cmU6MTc3Njg6IGNoZWNraW5nIGZvciB3b3JraW5nIGFsbG9jYS5oCmNvbmZpZ3VyZTox Nzc4NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt TzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5n MTUgPiY1IApjb25maWd1cmU6MTc3ODU6ICQ/ID0gMApjb25maWd1cmU6MTc3OTM6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNzgwMTogY2hlY2tpbmcgZm9yIGFsbG9jYQpjb25maWd1cmU6MTc4Mzg6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4m NSAKY29uZmlndXJlOjE3ODM4OiAkPyA9IDAKY29uZmlndXJlOjE3ODQ2OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTc5NTk6IGNoZWNraW5nIGZvciB1bnNpZ25lZCBsb25nIGxvbmcgaW50CmNvbmZp Z3VyZToxODAwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4MDE2OiBjaGVja2luZyB3aGV0aGVy IGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFuCmNvbmZpZ3VyZToxODAzMTogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE4NDo5OiBlcnJvcjogdW5r bm93biB0eXBlIG5hbWUgJ25vdCcKICAgICAgICAgbm90IGEgdW5pdmVyc2FsIGNhcGFibGUgY29t cGlsZXIKICAgICAgICAgXgpjb25mdGVzdC5jOjE4NDoxNTogZXJyb3I6IGV4cGVjdGVkICc9Jywg JywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ3VuaXZlcnNhbCcKICAg ICAgICAgbm90IGEgdW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKICAgICAgICAgICAgICAgXgpj b25mdGVzdC5jOjE4NDoxNTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1bml2ZXJzYWwnCmNv bmZpZ3VyZToxODAzMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkx Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5l IF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFS V0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2Rl ZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNU IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0Ff TEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFC QVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZp bmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFW RV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVY VCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhS ZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZF X1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElC IDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUg SEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9M T0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVT QUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFW RV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAx CnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVm aW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhB VkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwg I2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBI QVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9H UkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZP IDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hN T0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNk ZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8 ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEK fCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2Rl ZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElP TiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVm aW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZp bmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8 ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAw CnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVAp CnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2Rl ZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VO RF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChj ID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25h bWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChw dHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMg MQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBf V09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19D T05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1w cmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxv Y2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQt cG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJi ZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhv dXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQ QVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9P TEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZp bmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xP TkdfTE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaWZuZGVmIF9fQVBQTEVf Q0NfXwp8IAkgICAgICAgbm90IGEgdW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKfCAJICAgICAj ZW5kaWYKfCAJICAgICB0eXBlZGVmIGludCBkdW1teTsKfCAKY29uZmlndXJlOjE4MDc2OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODA3NjogJD8g PSAwCmNvbmZpZ3VyZToxODA5NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MTgwOTQ6ICQ/ID0gMApjb25maWd1cmU6MTgyMjI6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxODM5MDogY2hlY2tpbmcgd2hldGhlciB0aGUgcHJlcHJvY2Vzc29yIHN1cHBv cnRzIGluY2x1ZGVfbmV4dApjb25maWd1cmU6MTg0Mjg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgLUljb25mdGVzdGQxYiAtSWNvbmZ0ZXN0ZDIgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE4 NDI4OiAkPyA9IDAKY29uZmlndXJlOjE4NDQ5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTg0NzA6 IGNoZWNraW5nIHdoZXRoZXIgc3lzdGVtIGhlYWRlciBmaWxlcyBsaW1pdCB0aGUgbGluZSBsZW5n dGgKY29uZmlndXJlOjE4NDkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODUwNTogY2hlY2tpbmcg d2hldGhlciBzdHJ0b2xkIGNvbmZvcm1zIHRvIEM5OQpjb25maWd1cmU6MTg1MzI6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xp YiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZmln dXJlOjE4NTMyOiAkPyA9IDAKY29uZmlndXJlOjE4NTQwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTg1NTU6IGNoZWNraW5nIGlmIGVudmlyb24gaXMgcHJvcGVybHkgZGVjbGFyZWQKY29uZmlndXJl OjE4NTc4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6MTkxOjM5OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdlbnZpcm9uJwogICAgICAg ICAgICBleHRlcm4gc3RydWN0IHsgaW50IGZvbzsgfSBlbnZpcm9uOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25mdGVzdC5j OjE4NjowOgovdXNyL2luY2x1ZGUvdW5pc3RkLmg6ODczOjE1OiBub3RlOiBwcmV2aW91cyBkZWNs YXJhdGlvbiBvZiAnZW52aXJvbicgd2FzIGhlcmUKIGV4dGVybiBjaGFyICoqZW52aXJvbjsKICAg ICAgICAgICAgICAgXgpjb25maWd1cmU6MTg1Nzg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkx Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMg MQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRN UF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9G TEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwg I2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUg SEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklO RyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElN IDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRl cgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAj ZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9Y X1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNk ZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZF X1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09D S05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJ TSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2Rl ZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZF X0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xP RzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEK fCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwg I2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhB VkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNk ZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUg SEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9H RVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZF X0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZP X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmlj dF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmlu ZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVf U09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQ Q0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFN RSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19E RVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9 PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllf U0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJ T04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5U RiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9T UFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxT X1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNk ZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmlu ZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgi CnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZk aXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2Vy YmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3Vu ZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0t d2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNw cGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZM QUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAj ZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhB VkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAx CnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2lmIEhBVkVfVU5JU1REX0gKfCAgICAgICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAgICAgICNlbmRp Zgp8ICAgICAgLyogbWluZ3csIEJlT1MsIEhhaWt1IGRlY2xhcmUgZW52aXJvbiBpbiA8c3RkbGli Lmg+LCBub3QgaW4gPHVuaXN0ZC5oPi4gICovCnwgICAgICAjaW5jbHVkZSA8c3RkbGliLmg+Cnwg CnwgICAgICAgICAgICBleHRlcm4gc3RydWN0IHsgaW50IGZvbzsgfSBlbnZpcm9uOwp8IGludAp8 IG1haW4gKCkKfCB7CnwgZW52aXJvbi5mb28gPSAxOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MTg1ODY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODYwMTogY2hlY2tpbmcgZm9y IGNvbXBsZXRlIGVycm5vLmgKY29uZmlndXJlOjE4Njc0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTg5OTY6IGNoZWNraW5nIGZvciBtb2RlX3QKY29uZmlndXJlOjE4OTk2OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODk5NjogJD8gPSAwCmNvbmZp Z3VyZToxODk5NjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMg ICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25m dGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjIyOjIxOiBlcnJvcjogZXhw ZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgobW9kZV90KSkp CiAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjE4OTk2OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xB UkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVf TkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVT T1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2Fy ZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZF X1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVm aW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FM RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNk ZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZp bmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwg I2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFW RV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xT VEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVm aW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNk ZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5l IEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5l IF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUg MQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2Rl ZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAj ZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNF Ul9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNk ZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2Nf KSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNf RElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQ VFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9O QU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlf VFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZp bmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAw MDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAg MQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAy MDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4 Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEg LS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13 aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdp dGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRo LWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxl LWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9 LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxB R1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lO RE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwg I2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9B TExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19C SUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VO VklST05fREVDTCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5o Pgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg aW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBp bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H X0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gK fCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+Cnwg I2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgobW9kZV90KSkpCnwgCSAg ICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE4OTk2OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTkwMDc6IGNoZWNraW5nIHdoZXRoZXIgZmRhdGFzeW5jIGlzIGRl Y2xhcmVkCmNvbmZpZ3VyZToxOTAwNzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6MTkwMDc6ICQ/ID0gMApjb25maWd1cmU6MTkwMDc6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxOTAyMDogY2hlY2tpbmcgZm9yIHN0X2RtX21vZGUgaW4gc3RydWN0IHN0 YXQKY29uZmlndXJlOjE5MDM4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxOTM6MTc6IGVy cm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfZG1fbW9kZScKIHN0 cnVjdCBzdGF0IHM7IHMuc3RfZG1fbW9kZTsKICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTox OTAzODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNz Igp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82 NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1F X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAj ZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVF Tk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9Y X0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2 IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2Rl ZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklN SW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf UE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVm aW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VS Uk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAj ZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4 IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVf UkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf R0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBI QVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRP TSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5E X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZF X0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUg TE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5l IEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NO UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2Rl ZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExf REVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJv Y2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUg RElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmlu ZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmlu ZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9L RU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0Ug Ii9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMg OyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2 L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg dHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZp bmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8 ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZ UklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4i CnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VS QVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BU SU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVk aXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0 aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdp dGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtp dC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdp dGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIn Igp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwg I2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01B TExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRP TEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZE QVRBU1lOQyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IHN0cnVj dCBzdGF0IHM7IHMuc3RfZG1fbW9kZTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjE5MDQ1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTA1NTogY2hlY2tpbmcgd2hldGhlciBzdHJt b2RlIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToxOTA1NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0 LmM6MjI3OjEwOiBlcnJvcjogJ3N0cm1vZGUnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAodm9pZCkgc3RybW9kZTsKICAgICAgICAgIF4KY29uZnRlc3QuYzoyMjc6 MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25j ZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToxOTA1NTogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUg VkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUg MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ TUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVf WFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NS RUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5l IEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJ TSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVD YWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZF X0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElG RiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVm aW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZF X0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVf R0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFE RFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwg I2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9H RVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtF UkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdO IDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVT X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRP VU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVf UiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NB Q0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAx CnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRf RlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BU WVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2 L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAj ZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NF UCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RP UllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQ KF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8 ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2Rl ZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNk ZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQp KTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdf QklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFW RV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHly aWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBU RVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2Vy cGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVm aXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RB VEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9 bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVy b3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFy cyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWlu Zm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUg SEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0Vf TFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2Rl ZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZp bmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZF X1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVm Lmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZp bmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxt ZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCAjaWZuZGVmIHN0cm1vZGUKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2 b2lkKSBzdHJtb2RlOwp8ICNlbHNlCnwgICAodm9pZCkgc3RybW9kZTsKfCAjZW5kaWYKfCAjZW5k aWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5MDU1OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToxOTEwNDogY2hlY2tpbmcgd2hldGhlciBsc3RhdCBjb3JyZWN0bHkgaGFuZGxl cyB0cmFpbGluZyBzbGFzaApjb25maWd1cmU6MTkxMzc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjE5MTM3OiAkPyA9 IDAKY29uZmlndXJlOjE5MTM3OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToxOTEzNzogJD8gPSAxCmNv bmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkx Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMg MQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRN UF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9G TEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwg I2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUg SEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklO RyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElN IDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRl cgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAj ZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9Y X1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNk ZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZF X1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09D S05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJ TSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2Rl ZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZF X0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xP RzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEK fCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwg I2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhB VkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNk ZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUg SEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9H RVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZF X0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZP X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmlj dF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmlu ZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVf U09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQ Q0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFN RSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19E RVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9 PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllf U0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJ T04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5U RiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9T UFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxT X1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNk ZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmlu ZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgi CnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZk aXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2Vy YmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3Vu ZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0t d2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNw cGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZM QUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAj ZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhB VkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAx CnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNM IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk1PREUgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAj aWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5k aWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1 ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwg IyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAg aW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRp Zgp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RydWN0IHN0YXQgc2J1ZjsKfCAgICAgICAgICAgICAg IC8qIExpbnV4IHdpbGwgZGVyZWZlcmVuY2UgdGhlIHN5bWxpbmsgYW5kIGZhaWwsIGFzIHJlcXVp cmVkIGJ5CnwgICAgICAgICAgICAgICAgICBQT1NJWC4gIFRoYXQgaXMgYmV0dGVyIGluIHRoZSBz ZW5zZSB0aGF0IGl0IG1lYW5zIHdlIHdpbGwgbm90CnwgICAgICAgICAgICAgICAgICBoYXZlIHRv IGNvbXBpbGUgYW5kIHVzZSB0aGUgbHN0YXQgd3JhcHBlci4gICovCnwgICAgICAgICAgICAgICBy ZXR1cm4gbHN0YXQgKCJjb25mdGVzdC5zeW0vIiwgJnNidWYpID09IDA7CnwgCnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxOTE1NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTkzNDQ6 IGNoZWNraW5nIGZvciBnZXRvcHQuaApjb25maWd1cmU6MTkzNDQ6IHJlc3VsdDogbm8KY29uZmln dXJlOjE5ODcxOiBjaGVja2luZyB3aGV0aGVyIGdldGVudiBpcyBkZWNsYXJlZApjb25maWd1cmU6 MTk4NzE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjE5ODcxOiAkPyA9IDAKY29uZmlndXJlOjE5ODcxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk4 ODc6IGNoZWNraW5nIGZvciBDL0MrKyByZXN0cmljdCBrZXl3b3JkCmNvbmZpZ3VyZToxOTkxMjog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTk5MTI6 ICQ/ID0gMApjb25maWd1cmU6MTk5MjA6IHJlc3VsdDogX19yZXN0cmljdApjb25maWd1cmU6MjAw NTc6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdGltZXZhbApjb25maWd1cmU6MjAwODA6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIwMDgwOiAkPyA9IDAK Y29uZmlndXJlOjIwMDg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAwOTM6IGNoZWNraW5nIGZv ciB3aWRlLWVub3VnaCBzdHJ1Y3QgdGltZXZhbC50dl9zZWMgbWVtYmVyCmNvbmZpZ3VyZToyMDEy MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjAx MjA6ICQ/ID0gMApjb25maWd1cmU6MjAxMjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDE0Mjog Y2hlY2tpbmcgZm9yIGxvbmcgbG9uZyBpbnQKY29uZmlndXJlOjIwMTkyOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjAyMTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMg LU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzoxOTM6MTA6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnbm90JwogICAgICAg ICAgbm90IGEgdW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKICAgICAgICAgIF4KY29uZnRlc3Qu YzoxOTM6MTY6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy aWJ1dGVfXycgYmVmb3JlICd1bml2ZXJzYWwnCiAgICAgICAgICBub3QgYSB1bml2ZXJzYWwgY2Fw YWJsZSBjb21waWxlcgogICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjE5MzoxNjogZXJyb3I6 IHVua25vd24gdHlwZSBuYW1lICd1bml2ZXJzYWwnCmNvbmZpZ3VyZToyMDIxNDogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8 ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9f X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9C Uk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFND UkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVO IDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZp bmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhB VkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAx CnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxs YmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQ RUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZp bmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAx CnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5l IEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dF VEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VU X0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVS IDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNk ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFX IDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEK fCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZp bmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVf UE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAx CnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hF IDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwg I2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVM TF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMg MQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251 bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVm aW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAn LycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllf U0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9j XykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNk ZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmlu ZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZp bmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsK fCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklU UyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9f U0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdo dCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJN X0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMt aWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9 PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVE SVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVj aWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1 IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAt LWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8g Q0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUn ICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFW RV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVD SUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmlu ZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg V09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUg SEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8 ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaWZuZGVmIF9fQVBQTEVfQ0NfXwp8ICAgICAgICAgIG5vdCBhIHVuaXZlcnNhbCBjYXBhYmxl IGNvbXBpbGVyCnwgICAgICAgICAjZW5kaWYKfCAgICAgICAgIHR5cGVkZWYgaW50IGR1bW15Owp8 IApjb25maWd1cmU6MjAzNzE6IGNoZWNraW5nIHdoZXRoZXIgc3RkaW50LmggY29uZm9ybXMgdG8g Qzk5CmNvbmZpZ3VyZToyMDU0MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MjA1NDA6ICQ/ID0gMApjb25maWd1cmU6MjA2MjA6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAt V2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZmlndXJl OjIwNjIwOiAkPyA9IDAKY29uZmlndXJlOjIwNjIwOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMDYy MDogJD8gPSAwCmNvbmZpZ3VyZToyMDYzMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMjA1OiBj aGVja2luZyB3aGV0aGVyIG1lbXJjaHIgaXMgZGVjbGFyZWQKY29uZmlndXJlOjIxMjA1OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzI6MTA6IGVycm9yOiAnbWVtcmNocicgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICh2b2lkKSBtZW1yY2hyOwogICAgICAg ICAgXgpjb25mdGVzdC5jOjIzMjoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29u ZmlndXJlOjIxMjA1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJX SU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1Qg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNf V0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZf RExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9M RU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01N QVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJB U0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmlu ZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZF X1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhU IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJl Z2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVf WFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xP Q0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNB R0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZF X0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dS QU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8g MQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVm aW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVD VCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1P RCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwg I2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5l IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QK fCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9O IDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZp bmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmlu ZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwg I2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAK fCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkK fCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVm aW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5E X0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMg PSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFt ZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0 eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAx CnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9X T1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVm aW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1Nf Q09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXBy ZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9j YWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1w b3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJl cm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91 dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBB VEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09M S0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmlu ZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9D OTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZF X1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVm Lmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZp bmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxt ZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCAjaWZuZGVmIG1lbXJjaHIKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2 b2lkKSBtZW1yY2hyOwp8ICNlbHNlCnwgICAodm9pZCkgbWVtcmNocjsKfCAjZW5kaWYKfCAjZW5k aWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIxMjA1OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToyMTIzNzogY2hlY2tpbmcgd2hldGhlciBhbGFybSBpcyBkZWNsYXJlZApjb25m aWd1cmU6MjEyMzc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8z ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjIxMjM3OiAkPyA9IDAKY29uZmlndXJlOjIxMjM3OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MjEyNjI6IGNoZWNraW5nIHdoZXRoZXIgPHN5cy9zZWxlY3QuaD4gaXMgc2VsZi1jb250YWlu ZWQKY29uZmlndXJlOjIxMjc5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZToyMTI3OTogJD8gPSAwCmNvbmZpZ3VyZToyMTI5ODogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjEyOTg6ICQ/ID0gMApjb25m aWd1cmU6MjEzMjg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFk ICAtbHBuZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAubm9u ZXhpc3RlbnRfbWVtc2V0CmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVp ZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxk IHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjIxMzI4OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xB UkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVf TkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVT T1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2Fy ZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZF X1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVm aW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FM RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNk ZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZp bmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwg I2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFW RV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xT VEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVm aW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNk ZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5l IEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5l IF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUg MQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2Rl ZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAj ZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNF Ul9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNk ZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2Nf KSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNf RElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQ VFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9O QU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlf VFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZp bmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAw MDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAg MQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAy MDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4 Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEg LS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13 aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdp dGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRo LWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxl LWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9 LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxB R1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lO RE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwg I2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9B TExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19C SUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VO VklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3lzL3NlbGVjdC5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICAgICAgICAgICAg ICAgICAgI3VuZGVmIG1lbXNldAp8ICAgICAgICAgICAgICAgICAgICNkZWZpbmUgbWVtc2V0IG5v bmV4aXN0ZW50X21lbXNldAp8ICAgICAgICAgICAgICAgICAgIGV4dGVybgp8ICAgICAgICAgICAg ICAgICAgICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgICAgICAgICAgICAgICAgICJDIgp8ICAgICAg ICAgICAgICAgICAgICNlbmRpZgp8ICAgICAgICAgICAgICAgICAgIHZvaWQgKm1lbXNldCAodm9p ZCAqLCBpbnQsIHVuc2lnbmVkIGxvbmcpOwp8ICAgICAgICAgICAgICAgICAgICN1bmRlZiBiemVy bwp8ICAgICAgICAgICAgICAgICAgICNkZWZpbmUgYnplcm8gbm9uZXhpc3RlbnRfYnplcm8KfCAg ICAgICAgICAgICAgICAgICBleHRlcm4KfCAgICAgICAgICAgICAgICAgICAjaWZkZWYgX19jcGx1 c3BsdXMKfCAgICAgICAgICAgICAgICAgICAiQyIKfCAgICAgICAgICAgICAgICAgICAjZW5kaWYK fCAgICAgICAgICAgICAgICAgICB2b2lkIGJ6ZXJvICh2b2lkICosIHVuc2lnbmVkIGxvbmcpOwp8 ICAgICAgICAgICAgICAgICAgIGZkX3NldCBmZHM7CnwgICAgICAgICAgICAgICAgICAgRkRfWkVS TyAoJmZkcyk7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CnwgCmNvbmZpZ3VyZToyMTM0MTog cmVzdWx0OiBubwpjb25maWd1cmU6MjE0ODc6IGNoZWNraW5nIGZvciBzaWdzZXRfdApjb25maWd1 cmU6MjE0ODc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjIxNDg3OiAkPyA9IDAKY29uZmlndXJlOjIxNDg3OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRl c3QuYzoyMDM6MjM6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4K IGlmIChzaXplb2YgKChzaWdzZXRfdCkpKQogICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmln dXJlOjIxNDg3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5f VVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExf SCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4g MQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJ TUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0Ug MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBI QVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gx MVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEK fCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lz dGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tG IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJ TUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2Rl ZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RF VklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAw OyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg Ii9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwg I2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxz dGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3Ag LS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9z IC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10 b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+ IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lU IDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBH TlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9I IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9f R0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgICAgICAjaW5jbHVkZSA8c2lnbmFsLmg+CnwgICAg ICAgLyogTWluZ3cgZGVmaW5lcyBzaWdzZXRfdCBub3QgaW4gPHNpZ25hbC5oPiwgYnV0IGluIDxz eXMvdHlwZXMuaD4uICAqLwp8ICAgICAgICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAKfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChzaWdzZXRfdCkpKQp8IAkgICAgcmV0dXJu IDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMTQ4NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjIxNTI1OiBjaGVja2luZyBmb3Igc3RkYm9vbC5oIHRoYXQgY29uZm9ybXMgdG8g Qzk5CmNvbmZpZ3VyZToyMTU5MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MjE1OTI6ICQ/ID0gMApjb25maWd1cmU6MjE1OTk6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyMTYwMTogY2hlY2tpbmcgZm9yIF9Cb29sCmNvbmZpZ3VyZToyMTYwMTogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjE2MDE6ICQ/ ID0gMApjb25maWd1cmU6MjE2MDE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251 OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzMToyMDog ZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNpemVvZiAo KF9Cb29sKSkpCiAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjE2MDE6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9Q T1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEK fCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xP TkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVF TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVm aW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBI QVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0g MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2Fs bGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYg MQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBI QVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf U0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERS SU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1F UiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAj ZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFW RV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VU R1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJB VyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAx CnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUg SEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZF X1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19J TklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5l IEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1Ig MQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNI RSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8 ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNk ZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8 ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZV TExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlT IDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9u dWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2Rl ZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAg Jy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZ X1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChf Y18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5U X0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAj ZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZp bmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVm aW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7 CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJ VFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf X1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmln aHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVS TV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBj LWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4 PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRF RElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1 Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9z NSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMg LS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZv IENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRl JyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhB VkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xV Q0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZp bmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5l IEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8K fCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1S Q0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9U IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVm IEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxz dGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1 ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBp bnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChfQm9vbCkpKQp8IAkgICAgcmV0dXJuIDA7 CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMTYwMTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjIxNjE3OiBjaGVja2luZyBmb3Igd2NoYXJfdApjb25maWd1cmU6MjE2MzQ6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIxNjM0OiAkPyA9 IDAKY29uZmlndXJlOjIxNjQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE3NTI6IGNoZWNraW5n IHdoZXRoZXIgc3RydWN0IHRtIGlzIGluIHN5cy90aW1lLmggb3IgdGltZS5oCmNvbmZpZ3VyZToy MTc3MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 MjE3NzI6ICQ/ID0gMApjb25maWd1cmU6MjE3Nzk6IHJlc3VsdDogdGltZS5oCmNvbmZpZ3VyZToy MTc4NzogY2hlY2tpbmcgZm9yIHN0cnVjdCB0bS50bV96b25lCmNvbmZpZ3VyZToyMTc4NzogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5j dGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjA1OjEyOiBlcnJvcjogJ3N0cnVjdCB0bScgaGFzIG5v IG1lbWJlciBuYW1lZCAndG1fem9uZScKIGlmIChhY19hZ2dyLnRtX3pvbmUpCiAgICAgICAgICAg IF4KY29uZmlndXJlOjIxNzg3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5l IF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhB VkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE Ul9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VU REFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwg I2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmlu ZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9M SUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5l IEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZF X1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2Rl ZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxf VVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZp bmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVE IDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVm aW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBI QVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVS TUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEK fCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBI QVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZF X0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0la RSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tF VFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEK fCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVz dHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVU RUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwg I2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dl Y29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChf Y18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZ X1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkK fCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBm b3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChw dHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJj cHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFD VEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NF VEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8K fCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1l eGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+ IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0 aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0 LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0t d2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FM TElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0Vf WF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwg I2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdO RURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUg SEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEK fCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxB Uk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8dGltZS5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkK fCB7Cnwgc3RhdGljIHN0cnVjdCB0bSBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnRtX3pvbmUpCnwg cmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMTc4NzogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlv biAnbWFpbic6CmNvbmZ0ZXN0LmM6MjA1OjE5OiBlcnJvcjogJ3N0cnVjdCB0bScgaGFzIG5vIG1l bWJlciBuYW1lZCAndG1fem9uZScKIGlmIChzaXplb2YgYWNfYWdnci50bV96b25lKQogICAgICAg ICAgICAgICAgICAgXgpjb25maWd1cmU6MjE3ODc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkx Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMg MQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRN UF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9G TEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwg I2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUg SEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklO RyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElN IDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRl cgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAj ZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9Y X1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNk ZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZF X1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09D S05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJ TSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2Rl ZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZF X0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xP RzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEK fCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwg I2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhB VkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNk ZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUg SEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9H RVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZF X0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZP X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmlj dF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmlu ZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVf U09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQ Q0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFN RSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19E RVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9 PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllf U0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJ T04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5U RiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9T UFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxT X1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNk ZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmlu ZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgi CnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZk aXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2Vy YmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3Vu ZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0t d2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNw cGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZM QUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAj ZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhB VkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAx CnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNM IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVD TF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDx0aW1lLmg+CnwgCnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHRtIGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBh Y19hZ2dyLnRtX3pvbmUpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZToyMTc4NzogcmVzdWx0OiBubwpjb25maWd1cmU6MjE4MDU6IGNoZWNraW5nIHdoZXRoZXIg dHpuYW1lIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyMTgwNTogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjE4MDU6ICQ/ID0gMApjb25maWd1cmU6MjE4 MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTgxNzogY2hlY2tpbmcgZm9yIHR6bmFtZQpjb25m aWd1cmU6MjE4Mzc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFk ICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjIxODM3OiAkPyA9IDAKY29uZmlndXJlOjIxODQ1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MjE4NTU6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdG0udG1fZ210 b2ZmCmNvbmZpZ3VyZToyMTg1NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjA1OjEyOiBl cnJvcjogJ3N0cnVjdCB0bScgaGFzIG5vIG1lbWJlciBuYW1lZCAndG1fZ210b2ZmJwogaWYgKGFj X2FnZ3IudG1fZ210b2ZmKQogICAgICAgICAgICBeCmNvbmZpZ3VyZToyMTg1NTogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8 ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9f X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9C Uk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFND UkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVO IDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZp bmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhB VkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAx CnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxs YmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQ RUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZp bmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAx CnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5l IEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dF VEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VU X0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVS IDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNk ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFX IDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEK fCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZp bmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVf UE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAx CnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hF IDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwg I2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVM TF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMg MQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251 bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVm aW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAn LycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllf U0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9j XykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNk ZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmlu ZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZp bmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsK fCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklU UyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9f U0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdo dCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJN X0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMt aWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9 PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVE SVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVj aWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1 IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAt LWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8g Q0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUn ICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFW RV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVD SUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmlu ZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg V09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUg SEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8 ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJD SFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1Qg MQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx0aW1lLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCBzdGF0aWMgc3RydWN0IHRtIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IudG1fZ210b2ZmKQp8IHJl dHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjE4NTU6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjIwNToxOTogZXJyb3I6ICdzdHJ1Y3QgdG0nIGhhcyBubyBtZW1i ZXIgbmFtZWQgJ3RtX2dtdG9mZicKIGlmIChzaXplb2YgYWNfYWdnci50bV9nbXRvZmYpCiAgICAg ICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyMTg1NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMu OTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxF UyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVN X1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9V VE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFN X0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAx CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmlu ZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RS SU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhB VkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9Y SU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAj ZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0Vf WElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2lu dGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8 ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZF X1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwg I2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05B TUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERF TElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhB VkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVf TE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNk ZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08g MQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEK fCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMg MQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwg I2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8 ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBI QVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZF X0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhB VkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZG T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lO Rk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3Ry aWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVm aW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFW RV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBT RVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9O QU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElT X0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18p ID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9S WV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJB VElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJ TlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1F X1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05B TFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwg I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVm aW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0u aCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAi CnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29u ZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1r ZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNv dW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8g LS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxp c3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQ RkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8 ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUg SEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8 ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFO IDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RF Q0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9E RUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZF X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDx0aW1lLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0 IHRtIGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnRtX2dtdG9mZikKfCByZXR1cm4gMDsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIxODU1OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToyMTk0MzogY2hlY2tpbmcgd2hldGhlciBzdHJ0b2ltYXggaXMgZGVjbGFyZWQKY29uZmln dXJlOjIxOTQzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZToyMTk0MzogJD8gPSAwCmNvbmZpZ3VyZToyMTk0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjIxOTU2OiBjaGVja2luZyB3aGV0aGVyIHN0cnRvdW1heCBpcyBkZWNsYXJlZApjb25maWd1cmU6 MjE5NTY6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjIxOTU2OiAkPyA9IDAKY29uZmlndXJlOjIxOTU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE5 Njk6IGNoZWNraW5nIHdoZXRoZXIgc3RhdCBmaWxlLW1vZGUgbWFjcm9zIGFyZSBicm9rZW4KY29u ZmlndXJlOjIxOTk2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1P MyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToyMTk5NjogJD8gPSAwCmNvbmZpZ3VyZToyMjAwMzogcmVzdWx0OiBubwpjb25maWd1 cmU6MjIxMDM6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdGltZXNwZWMgaW4gPHRpbWUuaD4KY29uZmln dXJlOjIyMTIwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZToyMjEyMDogJD8gPSAwCmNvbmZpZ3VyZToyMjEyNzogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjIyMjc4OiBjaGVja2luZyB3aGV0aGVyIHVuc2V0ZW52IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToy MjI3ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 MjIyNzg6ICQ/ID0gMApjb25maWd1cmU6MjIyNzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjI5 MDogY2hlY2tpbmcgd2hldGhlciB0aGUgdXRpbWVzIGZ1bmN0aW9uIHdvcmtzCmNvbmZpZ3VyZToy MjQwNTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt TzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5n MTUgPiY1IApjb25maWd1cmU6MjI0MDU6ICQ/ID0gMApjb25maWd1cmU6MjI0MDU6IC4vY29uZnRl c3QKY29uZmlndXJlOjIyNDA1OiAkPyA9IDAKY29uZmlndXJlOjIyNDE1OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjI0Mjg6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdXRpbWJ1Zgpjb25maWd1cmU6MjI0 NTE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIy NDUxOiAkPyA9IDAKY29uZmlndXJlOjIyNDU4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI0Nzc6 IGNoZWNraW5nIHR5cGUgb2YgYXJyYXkgYXJndW1lbnQgdG8gZ2V0Z3JvdXBzCmNvbmZpZ3VyZToy MjUxMTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt TzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5n MTUgPiY1IApjb25maWd1cmU6MjI1MTE6ICQ/ID0gMApjb25maWd1cmU6MjI1MTE6IC4vY29uZnRl c3QKY29uZmlndXJlOjIyNTExOiAkPyA9IDAKY29uZmlndXJlOjIyNTM2OiByZXN1bHQ6IGdpZF90 CmNvbmZpZ3VyZToyMjU3OTogY2hlY2tpbmcgZm9yIGFsbG9jYSBhcyBhIGNvbXBpbGVyIGJ1aWx0 LWluCmNvbmZpZ3VyZToyMjYwMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyNjI5OiBjaGVja2lu ZyBieXRlc3dhcC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MjI2Mjk6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyMzk6MjI6IGZhdGFsIGVycm9yOiBi eXRlc3dhcC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8Ynl0ZXN3YXAu aD4KICAgICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmln dXJlOjIyNjI5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5f VVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExf SCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4g MQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJ TUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0Ug MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBI QVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gx MVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEK fCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lz dGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tG IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJ TUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2Rl ZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RF VklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAw OyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg Ii9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwg I2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxz dGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3Ag LS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9z IC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10 b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+ IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lU IDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBH TlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9I IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9f R0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNk ZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAj ZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19U WVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERD X0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+Cnwg I2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj IGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNU RENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnku aD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPGJ5 dGVzd2FwLmg+CmNvbmZpZ3VyZToyMjYyOTogcmVzdWx0OiBubwpjb25maWd1cmU6MjI2Mjk6IGNo ZWNraW5nIGJ5dGVzd2FwLmggcHJlc2VuY2UKY29uZmlndXJlOjIyNjI5OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtRSAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNv bmZ0ZXN0LmMKY29uZnRlc3QuYzoyMDY6MjI6IGZhdGFsIGVycm9yOiBieXRlc3dhcC5oOiBObyBz dWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8Ynl0ZXN3YXAuaD4KICAgICAgICAgICAg ICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjIyNjI5OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9E RSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZT Q1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZp bmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVf WElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0 ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9U SUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFW RV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VU QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEK fCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1B S0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJ R04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwg I2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9S RVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElN RV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVf Q0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JL IDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9U IDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FO RF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVf UFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9k ZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8 ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllf U0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVD VE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9T RVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAj ZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7Cnwg I2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChm ZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NF R19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBI QVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29w eXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93 ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXBy ZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxT VEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtp dD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJi ZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1i YXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtl aW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmlu ZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVT RV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAj ZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2Rl ZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBy cGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVz dHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf TUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdT RVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VU SU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQ U19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxieXRlc3dhcC5oPgpjb25maWd1cmU6MjI2Mjk6IHJlc3VsdDogbm8KY29u ZmlndXJlOjIyNjI5OiBjaGVja2luZyBmb3IgYnl0ZXN3YXAuaApjb25maWd1cmU6MjI2Mjk6IHJl c3VsdDogbm8KY29uZmlndXJlOjIyNjY4OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5n IGNsb2NrX2dldHRpbWUKY29uZmlndXJlOjIyNjk5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1scHRocmVhZCAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToyMjY5OTogJD8gPSAw CmNvbmZpZ3VyZToyMjcxNjogcmVzdWx0OiBub25lIHJlcXVpcmVkCmNvbmZpZ3VyZToyMjcyODog Y2hlY2tpbmcgZm9yIGNsb2NrX2dldHRpbWUKY29uZmlndXJlOjIyNzI4OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVds LC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToy MjcyODogJD8gPSAwCmNvbmZpZ3VyZToyMjcyODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyNzI4 OiBjaGVja2luZyBmb3IgY2xvY2tfc2V0dGltZQpjb25maWd1cmU6MjI3Mjg6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAt V2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZmlndXJl OjIyNzI4OiAkPyA9IDAKY29uZmlndXJlOjIyNzI4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI4 NzU6IGNoZWNraW5nIHdoZXRoZXIgZHVwMiB3b3Jrcwpjb25maWd1cmU6MjI5MzQ6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xp YiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZmln dXJlOjIyOTM0OiAkPyA9IDAKY29uZmlndXJlOjIyOTM0OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToy MjkzNDogJD8gPSAwCmNvbmZpZ3VyZToyMjk0NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzMTIy OiBjaGVja2luZyBmb3IgYWNjZXNzCmNvbmZpZ3VyZToyMzEyMjogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJp Z3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5nMTUgPiY1IApjb25maWd1cmU6MjMxMjI6 ICQ/ID0gMApjb25maWd1cmU6MjMxMjI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzE2NzogY2hl Y2tpbmcgd2hldGhlciBmY250bCBoYW5kbGVzIEZfRFVQRkQgY29ycmVjdGx5CmNvbmZpZ3VyZToy MzE5NzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt TzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5n MTUgPiY1IApjb25maWd1cmU6MjMxOTc6ICQ/ID0gMApjb25maWd1cmU6MjMxOTc6IC4vY29uZnRl c3QKY29uZmlndXJlOjIzMTk3OiAkPyA9IDAKY29uZmlndXJlOjIzMjA3OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjMyMjU6IGNoZWNraW5nIHdoZXRoZXIgZmNudGwgdW5kZXJzdGFuZHMgRl9EVVBG RF9DTE9FWEVDCmNvbmZpZ3VyZToyMzI0NjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOjIxNToxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ2No b2tlJwogY2hva2UgbWUKIF4KY29uZnRlc3QuYzoyMTg6MTogZXJyb3I6IGV4cGVjdGVkICc9Jywg JywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcKIGludAogXgpj b25maWd1cmU6MjMyNDY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45 MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNL QUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmlu ZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RB UldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElT VCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZ U19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NB X0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf TU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRB QkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVm aW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhB VkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhF WFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBY UmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFW RV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2Rl ZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJ QiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf TE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBI QVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8 ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlM VElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVf R1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5G TyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNk ZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf R0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNI TU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEK fCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAx CnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNk ZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmlj dAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJ T04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2Rl ZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVm aW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MK fCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykg MAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQ KQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNk ZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09V TkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAo YyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAo cHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJT IDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1Q X1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNk ZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFD U19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1Nf Q09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMt cHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1s b2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0 LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2Vy YmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRo b3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQ UEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RP T0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVm aW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZp bmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAx CnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2Rl ZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYg MQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUg MQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8 ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxmY250bC5oPgp8ICNpZm5kZWYgRl9E VVBGRF9DTE9FWEVDCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjMyNzU6IHJlc3VsdDogbm8KY29u ZmlndXJlOjIzNDIwOiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGZkYXRhc3luYwpj b25maWd1cmU6MjM0NTE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhy ZWFkICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjIzNDUxOiAkPyA9IDAKY29uZmlndXJlOjIzNDY4 OiByZXN1bHQ6IG5vbmUgcmVxdWlyZWQKY29uZmlndXJlOjIzNTA4OiBjaGVja2luZyB3aGV0aGVy IGZkb3BlbmRpciBpcyBkZWNsYXJlZApjb25maWd1cmU6MjM1MDg6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpj b25mdGVzdC5jOjIyMzoxMDogZXJyb3I6ICdmZG9wZW5kaXInIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAodm9pZCkgZmRvcGVuZGlyOwogICAgICAgICAgXgpjb25m dGVzdC5jOjIyMzoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0 ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjIz NTA4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3Mi CnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0 X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNk ZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO TlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hf STE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYg MQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVm aW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1J bnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAj ZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9Q TkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZp bmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJS Tk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAj ZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNk ZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDgg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9S RUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9H RVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEK fCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUg SEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhB VkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8 ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZp bmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVf RkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRB WSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBM T0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf TUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5l IEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVm aW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9E RVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9j ZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBE SVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5l IElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5l IElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tF Tl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAi L2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7 IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYv cHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0 dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmlu ZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwg I2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlS SUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIK fCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJB VElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJ T05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRp cj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRo LXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0 aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0 LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0 aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYici CnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAj ZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFM TE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9M RCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRB VEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BU X1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUg SEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5l IEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5l IEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhB VkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8ZGlyZW50Lmg+CnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8 IHsKfCAjaWZuZGVmIGZkb3BlbmRpcgp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgKHZvaWQpIGZk b3BlbmRpcjsKfCAjZWxzZQp8ICAgKHZvaWQpIGZkb3BlbmRpcjsKfCAjZW5kaWYKfCAjZW5kaWYK fCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIzNTA4OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToyMzYzNDogY2hlY2tpbmcgZm9yIF9fZnBlbmRpbmcKY29uZmlndXJlOjIzNjUxOiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgLWxwbmcxNSA+JjUg CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMjM6MTogd2Fybmlu ZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ19fZnBlbmRpbmcnIFstV2ltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogcmV0dXJuICEgX19mcGVuZGluZyAoc3RkaW4pOwog XgpsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5fX2ZwZW5kaW5nCmxkOiAw NzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBt b3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0 dXMKY29uZmlndXJlOjIzNjUxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5l IF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhB VkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE Ul9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VU REFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwg I2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmlu ZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9M SUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5l IEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZF X1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2Rl ZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxf VVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZp bmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVE IDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVm aW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBI QVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVS TUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEK fCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBI QVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZF X0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0la RSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tF VFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEK fCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVz dHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVU RUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwg I2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dl Y29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChf Y18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZ X1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkK fCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBm b3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChw dHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJj cHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFD VEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NF VEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8K fCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1l eGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+ IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0 aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0 LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0t d2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FM TElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0Vf WF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwg I2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdO RURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUg SEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEK fCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxB Uk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8 ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElN QlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAx CnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRU SU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAy IDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElS IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgICAgICNpbmNsdWRlIDxzdGRpby5oPgp8 ICAgICAjaWYgSEFWRV9TVERJT19FWFRfSAp8ICAgICAjIGluY2x1ZGUgPHN0ZGlvX2V4dC5oPgp8 ICAgICAjZW5kaWYKfCAgIAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuICEgX19mcGVuZGlu ZyAoc3RkaW4pOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjM2NjA6IHJlc3Vs dDogbm8KY29uZmlndXJlOjIzNjg5OiBjaGVja2luZyBob3cgdG8gZGV0ZXJtaW5lIHRoZSBudW1i ZXIgb2YgcGVuZGluZyBvdXRwdXQgYnl0ZXMgb24gYSBzdHJlYW0KY29uZmlndXJlOjIzNzQ4OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1 bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMTg6Mjk6IGVycm9yOiAnRklMRScgaGFzIG5vIG1l bWJlciBuYW1lZCAnX0lPX3dyaXRlX3B0cicKIEZJTEUgKmZwID0gc3RkaW47ICh2b2lkKSAoZnAt Pl9JT193cml0ZV9wdHIgLSBmcC0+X0lPX3dyaXRlX2Jhc2UpOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KY29uZnRlc3QuYzoyMTg6NDk6IGVycm9yOiAnRklMRScgaGFzIG5vIG1lbWJl ciBuYW1lZCAnX0lPX3dyaXRlX2Jhc2UnCiBGSUxFICpmcCA9IHN0ZGluOyAodm9pZCkgKGZwLT5f SU9fd3JpdGVfcHRyIC0gZnAtPl9JT193cml0ZV9iYXNlKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjIzNzQ4OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwg I2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxF Q1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19f U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05H X0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NS RUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4g MQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmlu ZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFW RV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEK fCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxi YWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEK fCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUg SEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VU SE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRf Q1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFW RV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF VExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklO Rk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIg MQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVm aW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVf R0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdS RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcg MQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8 ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9Q T1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5J VCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBI QVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURM SU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEK fCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUg MQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZp bmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAj ZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxM X05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAx CnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVs bCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZp bmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcv Jwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9T RVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2Nf KSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9E SVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2Rl ZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5l IFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmlu ZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8 ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19CSVRT IDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19T RVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0 IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1f SEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1p Ym0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJ Uj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1sdWNp ZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJvczUg LS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzIC0t ZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5mbyBD RkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScg J0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZF X1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJ RCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5l IFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBX T1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBI QVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwg I2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNI UiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAx CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdp ZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUg MQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9T VFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAj ZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAw CnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN0ZGlvLmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBGSUxFICpmcCA9IHN0ZGlu OyAodm9pZCkgKGZwLT5fSU9fd3JpdGVfcHRyIC0gZnAtPl9JT193cml0ZV9iYXNlKTsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIzNzQ4OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMzc0ODogJD8gPSAwCmNvbmZpZ3VyZToyMzc2 MDogcmVzdWx0OiBmcC0+X3B0ciAtIGZwLT5fYmFzZQpjb25maWd1cmU6MjM4OTU6IGNoZWNraW5n IGZvciBnZXRsb2FkYXZnCmNvbmZpZ3VyZToyMzg5NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAg Y29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5nMTUgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVu ZGVmaW5lZCBzeW1ib2w6IC5nZXRsb2FkYXZnCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1h cCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0 MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjIzODk1OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9E RSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZT Q1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZp bmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVf WElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0 ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9U SUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFW RV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VU QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEK fCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1B S0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJ R04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwg I2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9S RVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElN RV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVf Q0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JL IDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9U IDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FO RF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVf UFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9k ZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8 ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllf U0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVD VE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9T RVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAj ZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7Cnwg I2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChm ZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NF R19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBI QVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29w eXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93 ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXBy ZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxT VEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtp dD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJi ZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1i YXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtl aW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmlu ZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVT RV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAj ZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2Rl ZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBy cGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVz dHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf TUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdT RVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VU SU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQ U19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dF VFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9D TE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNT IDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BF TkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VU UFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgLyogRGVmaW5lIGdldGxvYWRhdmcgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2Ug PGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRsb2FkYXZnLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAx MWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZ2V0bG9h ZGF2ZyBpbm5vY3VvdXNfZ2V0bG9hZGF2Zwp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5l IF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2gg Y2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRsb2FkYXZnICgpOyBiZWxvdy4KfCAgICAgUHJlZmVy IDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8 ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAq Lwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAj IGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBnZXRsb2FkYXZnCnwgCnwg LyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m IGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk IHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2Vu ZGlmCnwgY2hhciBnZXRsb2FkYXZnICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMg dGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZh aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAg c29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlh cy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2dldGxvYWRhdmcgfHwgZGVmaW5lZCBfX3N0dWJf X19nZXRsb2FkYXZnCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHJldHVybiBnZXRsb2FkYXZnICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MjM4OTU6IHJlc3VsdDogbm8KY29uZmlndXJlOjIzOTA3OiBjaGVja2luZyBmb3IgZWxmX2JlZ2lu IGluIC1sZWxmCmNvbmZpZ3VyZToyMzkzMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRl c3QuYyAtbGVsZiAgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29sbGVjdDI6IGZhdGFsIGVycm9y OiBsaWJyYXJ5IGxpYmVsZiBub3QgZm91bmQKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmln dXJlOjIzOTMyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5f VVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExf SCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4g MQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJ TUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0Ug MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBI QVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gx MVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEK fCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lz dGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tG IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJ TUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2Rl ZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RF VklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAw OyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg Ii9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwg I2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxz dGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3Ag LS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9z IC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10 b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+ IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lU IDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBH TlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9I IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9f R0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNk ZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAj ZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAj ZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVm aW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVm aW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBlbGZfYmVnaW4gKCk7CnwgaW50CnwgbWFp biAoKQp8IHsKfCByZXR1cm4gZWxmX2JlZ2luICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MjM5NDE6IHJlc3VsdDogbm8KY29uZmlndXJlOjIzOTQ3OiBjaGVja2luZyBmb3Ig a3ZtX29wZW4gaW4gLWxrdm0KY29uZmlndXJlOjIzOTcyOiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9j ICBjb25mdGVzdC5jIC1sa3ZtICAtbHB0aHJlYWQgIC1scG5nMTUgPiY1IApjb2xsZWN0MjogZmF0 YWwgZXJyb3I6IGxpYnJhcnkgbGlia3ZtIG5vdCBmb3VuZApjb21waWxhdGlvbiB0ZXJtaW5hdGVk Lgpjb25maWd1cmU6MjM5NzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQu My45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ QUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2Rl ZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5l IF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2Rl ZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUg X0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8 ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05F VF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS X1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZF X1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVRE QVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmlu ZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAj ZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5l IEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJ QlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmlu ZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUg SEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVf WkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVm aW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9V U0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERP V04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05B TCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwg I2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwg I2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmlu ZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VO RFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQg MQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZp bmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19C VUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhB VkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJN SU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8 ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf RkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lN QVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEK fCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpF IDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VU UyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0 cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRF Q1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwg I2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAj ZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vj b3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9j XykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllf U0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8 ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRf U09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZv ciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0 eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNw eSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNU RVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VU Sk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8 ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBF TUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4 ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4g LS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRo b3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQt a2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13 aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxM SVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9Y X1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAj ZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05F RF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBI QVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNk ZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8 ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFS TSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1C VUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJ TUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIg MQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIg MQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBt aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBf X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGt2bV9vcGVuICgpOwp8IGlu dAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGt2bV9vcGVuICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MjM5ODE6IHJlc3VsdDogbm8KY29uZmlndXJlOjIzOTg4OiBjaGVja2lu ZyBmb3IgZ2V0bG9hZGF2ZyBpbiAtbHV0aWwKY29uZmlndXJlOjI0MDEzOiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVds LC1iYmlndG9jICBjb25mdGVzdC5jIC1sdXRpbCAgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29s bGVjdDI6IGZhdGFsIGVycm9yOiBsaWJyYXJ5IGxpYnV0aWwgbm90IGZvdW5kCmNvbXBpbGF0aW9u IHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToyNDAxMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBI QVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5H IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0g MQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVm aW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVy CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hf U00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NU UkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElN IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVf Q0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBI QVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dF VERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVf SU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9f Q09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0 X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5l IENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9T T0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBD SEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1F IHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RF VklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09 IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9T RVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZp bmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElP TiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRG IHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQ UklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNf VklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2Rl ZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5l IFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIK fCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwg I2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRp cj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJi ZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5k IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13 aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3Bw YXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxB R1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNk ZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFW RV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEK fCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9f Qk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VO U0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVf Q0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5l IEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFD Q0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElC X0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0g ZnAtPl9iYXNlCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBH Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJl Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ2V0bG9h ZGF2ZyAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBnZXRsb2FkYXZnICgpOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjQwMjI6IHJlc3VsdDogbm8KY29uZmlndXJl OjI0MDM1OiBjaGVja2luZyBmb3IgZ2V0bG9hZGF2ZyBpbiAtbGdldGxvYWRhdmcKY29uZmlndXJl OjI0MDYwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sZ2V0bG9hZGF2ZyAg LUwvdXNyL2xvY2FsL2xpYiAtbHB0aHJlYWQgIC1scG5nMTUgPiY1IApjb2xsZWN0MjogZmF0YWwg ZXJyb3I6IGxpYnJhcnkgbGliZ2V0bG9hZGF2ZyBub3QgZm91bmQKY29tcGlsYXRpb24gdGVybWlu YXRlZC4KY29uZmlndXJlOjI0MDYwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVm aW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4 Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNO QU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJN U0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAx CnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2Rl ZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFW RV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNk ZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVm aW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBI QVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwg I2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1B SUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZF X0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NI VVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJT SUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8g MQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig MQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNk ZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E R1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQ RUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAj ZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZF X19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmlu ZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUg VEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VU IDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhB VkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBI QVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxF U0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NP Q0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNk ZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEK fCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VU IDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9f cmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hf REVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMg MQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzon CnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3 X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NF UChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNU T1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2Nf KSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZB VUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBj OyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5 IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBz dHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hB UkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdD X1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8q Ki8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEg LS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENE SVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0t d2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRo b3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBt IC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExP Q0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBV U0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAx CnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5T SUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZp bmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAK fCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5W IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf QUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9V VElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19T RVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9E VVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVO RElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jh c2UKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBp bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZk ZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBnZXRsb2FkYXZnICgp Owp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGdldGxvYWRhdmcgKCk7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDA2OTogcmVzdWx0OiBubwpjb25maWd1cmU6MjQwODQ6 IGNoZWNraW5nIGZvciBrc3RhdF9vcGVuIGluIC1sa3N0YXQKY29uZmlndXJlOjI0MTA5OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sa3N0YXQgIC1scHRocmVhZCAgLWxwbmcx NSA+JjUgCmNvbGxlY3QyOiBmYXRhbCBlcnJvcjogbGlicmFyeSBsaWJrc3RhdCBub3QgZm91bmQK Y29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjI0MTA5OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xB UkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVf TkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVT T1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2Fy ZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZF X1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVm aW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FM RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNk ZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZp bmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwg I2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFW RV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xT VEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVm aW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNk ZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5l IEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5l IF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUg MQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2Rl ZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAj ZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNF Ul9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNk ZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2Nf KSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNf RElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQ VFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9O QU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlf VFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZp bmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAw MDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAg MQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAy MDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4 Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEg LS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13 aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdp dGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRo LWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxl LWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9 LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxB R1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lO RE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwg I2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9B TExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19C SUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VO VklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2Rl ZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90Cnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNk ZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0g MQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5l IEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2Rl ZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMg ZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3Zl cnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAg VXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0ND CnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs IGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwg Y2hhciBrc3RhdF9vcGVuICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGtzdGF0X29w ZW4gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDExODogcmVzdWx0OiBu bwpjb25maWd1cmU6MjQxMzM6IGNoZWNraW5nIGZvciBwZXJmc3RhdF9jcHVfdG90YWwgaW4gLWxw ZXJmc3RhdApjb25maWd1cmU6MjQxNTg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0 LmMgLWxwZXJmc3RhdCAgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjI0MTU4OiAk PyA9IDAKY29uZmlndXJlOjI0MTY3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQyNTM6IGNoZWNr aW5nIHN5cy9sb2FkYXZnLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyNDI1MzogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjI0OToyNTogZmF0YWwgZXJy b3I6IHN5cy9sb2FkYXZnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxz eXMvbG9hZGF2Zy5oPgogICAgICAgICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJt aW5hdGVkLgpjb25maWd1cmU6MjQyNTM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNk ZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJh aXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VU U05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJN X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9Y Uk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAj ZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBI QVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5l IEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NU UlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRU TyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUg MQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwg I2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VU U1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUg SEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1M SU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFC TEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRf U09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg MQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVT RVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIg X19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFT SF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VU UyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAn OicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+ cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0Vf U0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJF Q1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChf Y18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERF RkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50 IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJj cHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRG IHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9D SEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUg R0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cg LyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVU Q0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3Mg LS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdp dGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14 cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08 TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5l IFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDEx IDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVO ViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NL X1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZF X0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NB VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9Q RU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5f YmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHN5cy9sb2FkYXZnLmg+CmNv bmZpZ3VyZToyNDI1MzogcmVzdWx0OiBubwpjb25maWd1cmU6MjQyNTM6IGNoZWNraW5nIHN5cy9s b2FkYXZnLmggcHJlc2VuY2UKY29uZmlndXJlOjI0MjUzOiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtRSAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMK Y29uZnRlc3QuYzoyMTY6MjU6IGZhdGFsIGVycm9yOiBzeXMvbG9hZGF2Zy5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8c3lzL2xvYWRhdmcuaD4KICAgICAgICAgICAgICAg ICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjI0MjUzOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9E RSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZT Q1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZp bmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVf WElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0 ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9U SUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFW RV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VU QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEK fCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1B S0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJ R04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwg I2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9S RVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElN RV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVf Q0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JL IDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9U IDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FO RF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVf UFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9k ZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8 ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllf U0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVD VE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9T RVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAj ZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7Cnwg I2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChm ZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NF R19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBI QVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29w eXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93 ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXBy ZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxT VEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtp dD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJi ZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1i YXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtl aW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmlu ZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVT RV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAj ZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2Rl ZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBy cGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVz dHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf TUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdT RVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VU SU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQ U19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dF VFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9D TE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNT IDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BF TkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VU UFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNU QVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL2xvYWRhdmcuaD4K Y29uZmlndXJlOjI0MjUzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNDI1MzogY2hlY2tpbmcgZm9y IHN5cy9sb2FkYXZnLmgKY29uZmlndXJlOjI0MjUzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNDI2 ODogY2hlY2tpbmcgd2hldGhlciBnZXRsb2FkYXZnIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyNDI2 ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjI4OjEwOiBlcnJvcjogJ2dldGxvYWRhdmcn IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAodm9pZCkgZ2V0bG9h ZGF2ZzsKICAgICAgICAgIF4KY29uZnRlc3QuYzoyMjg6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJl ZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBh cHBlYXJzIGluCmNvbmZpZ3VyZToyNDI2ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwg I2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZF X1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEK fCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5l IEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwg I2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZp bmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00g MQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmlu ZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUg SEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVf U1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VO RFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVS Uk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEK fCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZT RVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNk ZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVm aW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9U WlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZF X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERU QUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5F VF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9S SyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2Fy ciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENM QVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NL RVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFS ICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3 LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklD RV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJ UkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAg KF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUg REVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBp bnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0 cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklO VEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklB X0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVT RyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAj ZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08 RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJv cyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0t d2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRo LXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRo PTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9 IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZp bmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9Y MTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAj ZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9E RSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dF VEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9P TCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VU RU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xP Q0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhB VkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VT U0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZE T1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAt Pl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2lmIEhBVkVfU1lTX0xPQURBVkdfSAp8ICAgICAjIGluY2x1ZGUgPHN5cy9sb2FkYXZn Lmg+CnwgICAgICNlbmRpZgp8ICAgICAjaW5jbHVkZSA8c3RkbGliLmg+CnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCAjaWZuZGVmIGdldGxvYWRhdmcKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2 b2lkKSBnZXRsb2FkYXZnOwp8ICNlbHNlCnwgICAodm9pZCkgZ2V0bG9hZGF2ZzsKfCAjZW5kaWYK fCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI0MjY4OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToyNDM2NDogY2hlY2tpbmcgbmxpc3QuaCB1c2FiaWxpdHkKY29uZmln dXJlOjI0MzY0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZToyNDM2NDogJD8gPSAwCmNvbmZpZ3VyZToyNDM2NDogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjI0MzY0OiBjaGVja2luZyBubGlzdC5oIHByZXNlbmNlCmNvbmZpZ3VyZToyNDM2NDogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLUUgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToyNDM2NDogJD8gPSAwCmNvbmZpZ3VyZToyNDM2NDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjI0MzY0OiBjaGVja2luZyBmb3Igbmxpc3QuaApjb25maWd1 cmU6MjQzNjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNDM2OTogY2hlY2tpbmcgZm9yIHN0cnVj dCBubGlzdC5uX3VuLm5fbmFtZQpjb25maWd1cmU6MjQzNjk6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2lu Y2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25m dGVzdC5jOjIyMzoxMjogZXJyb3I6ICdzdHJ1Y3Qgbmxpc3QnIGhhcyBubyBtZW1iZXIgbmFtZWQg J25fdW4nCiBpZiAoYWNfYWdnci5uX3VuLm5fbmFtZSkKICAgICAgICAgICAgXgpjb25maWd1cmU6 MjQzNjk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0Vf NjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElN RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwg I2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRf SCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JF RU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVf WF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRS NiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNk ZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJ TUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZF X1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2Rl ZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9F UlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8 ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwg I2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0 OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZp bmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMg MQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUg SEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5E T00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lO RF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAx CnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFW RV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9G REFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5l IExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmlu ZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9T TlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFW RV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZp bmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNk ZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxM X0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnBy b2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5l IERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZp bmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZp bmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJP S0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFj IDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rl di9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUs IHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVm aW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEK fCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09Q WVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Igp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdV UkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09Q VElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRl ZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAtLXdp dGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13 aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRvb2xr aXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4gLS13 aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGli JyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8 ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9N QUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8 ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJU T0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9G REFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRP UFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmlu ZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZp bmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhB VkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZp bmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUg SEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUg UEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFW RV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8bmxpc3QuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0 YXRpYyBzdHJ1Y3Qgbmxpc3QgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5uX3VuLm5fbmFtZSkKfCBy ZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI0MzY5OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzoyMjM6MTk6IGVycm9yOiAnc3RydWN0IG5saXN0JyBoYXMgbm8g bWVtYmVyIG5hbWVkICduX3VuJwogaWYgKHNpemVvZiBhY19hZ2dyLm5fdW4ubl9uYW1lKQogICAg ICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjQzNjk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4z LjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEi CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklM RVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAx CnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZp bmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNU UklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBI QVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZf WElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwg I2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNF X1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9p bnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEK fCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFW RV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9O QU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dB SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRE RUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBI QVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZF X0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtP IDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAx CnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5l IEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5D IDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8 ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEK fCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZp bmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUg SEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFW RV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBI QVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9W Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJ TkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0 cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2Rl ZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhB VkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUg U0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExf TkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJ U19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2Nf KSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RP UllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVS QVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BS SU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFN RV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdO QUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8 ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2Rl ZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJt LmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4w Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2Nv bmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQt a2VyYmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1z b3VuZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5v IC0td2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxs aXNwcGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQ UEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEK fCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5l IEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElB TiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9E RUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVf REVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFW RV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhB VkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRP SU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5l IEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBI QVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2Rl ZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElC X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdO VUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0 ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZF X05MSVNUX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bmxpc3QuaD4K fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgbmxpc3QgYWNfYWdncjsKfCBp ZiAoc2l6ZW9mIGFjX2FnZ3Iubl91bi5uX25hbWUpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDM2OTogcmVzdWx0OiBubwpjb25maWd1cmU6MjQzOTY6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAK Y29uZmlndXJlOjI0Mzk2OiAkPyA9IDAKY29uZmlndXJlOjI0NTE4OiBjaGVja2luZyB3aGV0aGVy IGdldHRpbWVvZmRheSBjbG9iYmVycyBsb2NhbHRpbWUgYnVmZmVyCmNvbmZpZ3VyZToyNDU1Nzog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5nMTUgPiY1 IApjb25maWd1cmU6MjQ1NTc6ICQ/ID0gMApjb25maWd1cmU6MjQ1NTc6IC4vY29uZnRlc3QKY29u ZmlndXJlOjI0NTU3OiAkPyA9IDAKY29uZmlndXJlOjI0NTY3OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToyNDU4MzogY2hlY2tpbmcgZm9yIGdldHRpbWVvZmRheSB3aXRoIFBPU0lYIHNpZ25hdHVyZQpj b25maWd1cmU6MjQ2MTE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMg LU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjI0NjExOiAkPyA9IDAKY29uZmlndXJlOjI0NjM2OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MjQ3NTM6IGNoZWNraW5nIGZvciBtZW1yY2hyCmNvbmZpZ3VyZToyNDc1MzogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv bGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5nMTUgPiY1IApsZDog MDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5tZW1yY2hyCmxkOiAwNzExLTM0NSBV c2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9y bWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmln dXJlOjI0NzUzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5f VVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExf SCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4g MQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJ TUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0Ug MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBI QVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gx MVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEK fCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lz dGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tG IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJ TUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2Rl ZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RF VklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAw OyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg Ii9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwg I2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxz dGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3Ag LS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9z IC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10 b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+ IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lU IDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBH TlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9I IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9f R0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNk ZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAj ZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAj ZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVm aW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVm aW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5l IEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5f TkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBH RVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBE ZWZpbmUgbWVtcmNociB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+ IGRlY2xhcmVzIG1lbXJjaHIuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+ IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBtZW1yY2hyIGlubm9jdW91c19t ZW1yY2hyCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQg aG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBj aGFyIG1lbXJjaHIgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0 Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3Rz IGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19f CnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+Cnwg I2VuZGlmCnwgCnwgI3VuZGVmIG1lbXJjaHIKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVy bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGlu dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRl ZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIG1lbXJjaHIgKCk7Cnwg LyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQg aW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rp b25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBh bmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJf bWVtcmNociB8fCBkZWZpbmVkIF9fc3R1Yl9fX21lbXJjaHIKfCBjaG9rZSBtZQp8ICNlbmRpZgp8 IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG1lbXJjaHIgKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDc1MzogcmVzdWx0OiBubwpjb25maWd1cmU6MjQ4NDE6IGNo ZWNraW5nIGZvciB3b3JraW5nIG1rdGltZQpjb25maWd1cmU6MjUwNDk6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2ws LWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjI1 MDQ5OiAkPyA9IDAKY29uZmlndXJlOjI1MDQ5OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyNTA0OTog JD8gPSAzCmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgMwpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFj cyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFS R0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5l IFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZf SCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9O QU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8 ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNP VVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhN VSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJn NiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAj ZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVf UE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZp bmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJ Qk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5U X0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwg I2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2Rl ZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhB VkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFW RV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2Rl ZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmlu ZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09Q RU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAj ZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZF X0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdN QVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNk ZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZp bmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2Rl ZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUg SEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUg X19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAx CnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVm aW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNk ZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VS X0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2Rl ZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18p ICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19E SVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBU WV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05B TUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9U VFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmlu ZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAw MDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAx CnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIw MTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIg Inh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2 LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAt LXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdp dGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0 aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgt Z2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUt bG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0t TzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFH Uz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5E T1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAj ZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FM TE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJ R0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5W SVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5l IEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVm aW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAx CnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUg R05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVm aW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBm cC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19H RVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwg I2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBU ZXN0IHByb2dyYW0gZnJvbSBQYXVsIEVnZ2VydCBhbmQgVG9ueSBMZW5laXMuICAqLwp8ICNpbmNs dWRlIDxsaW1pdHMuaD4KfCAjaW5jbHVkZSA8c3RkbGliLmg+CnwgI2luY2x1ZGUgPHRpbWUuaD4K fCAKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlm CnwgCnwgI2lmIEhBVkVfREVDTF9BTEFSTQp8ICMgaW5jbHVkZSA8c2lnbmFsLmg+CnwgI2VuZGlm CnwgCnwgLyogV29yayBhcm91bmQgcmVkZWZpbml0aW9uIHRvIHJwbF9wdXRlbnYgYnkgb3RoZXIg Y29uZmlnIHRlc3RzLiAgKi8KfCAjdW5kZWYgcHV0ZW52CnwgCnwgc3RhdGljIHRpbWVfdCB0aW1l X3RfbWF4Owp8IHN0YXRpYyB0aW1lX3QgdGltZV90X21pbjsKfCAKfCAvKiBWYWx1ZXMgd2UnbGwg dXNlIHRvIHNldCB0aGUgVFogZW52aXJvbm1lbnQgdmFyaWFibGUuICAqLwp8IHN0YXRpYyBjaGFy ICp0el9zdHJpbmdzW10gPSB7CnwgICAoY2hhciAqKSAwLCAiVFo9R01UMCIsICJUWj1KU1QtOSIs CnwgICAiVFo9RVNUKzNFRFQrMixNMTAuMS4wLzAwOjAwOjAwLE0yLjMuMC8wMDowMDowMCIKfCB9 Owp8ICNkZWZpbmUgTl9TVFJJTkdTIChzaXplb2YgKHR6X3N0cmluZ3MpIC8gc2l6ZW9mICh0el9z dHJpbmdzWzBdKSkKfCAKfCAvKiBSZXR1cm4gMCBpZiBta3RpbWUgZmFpbHMgdG8gY29udmVydCBh IGRhdGUgaW4gdGhlIHNwcmluZy1mb3J3YXJkIGdhcC4KfCAgICBCYXNlZCBvbiBhIHByb2JsZW0g cmVwb3J0IGZyb20gQW5kcmVhcyBKYWVnZXIuICAqLwp8IHN0YXRpYyBpbnQKfCBzcHJpbmdfZm9y d2FyZF9nYXAgKCkKfCB7CnwgICAvKiBnbGliYyAodXAgdG8gYWJvdXQgMTk5OC0xMC0wNykgZmFp bGVkIHRoaXMgdGVzdC4gKi8KfCAgIHN0cnVjdCB0bSB0bTsKfCAKfCAgIC8qIFVzZSB0aGUgcG9y dGFibGUgUE9TSVguMSBzcGVjaWZpY2F0aW9uICJUWj1QU1Q4UERULE00LjEuMCxNMTAuNS4wIgp8 ICAgICAgaW5zdGVhZCBvZiAiVFo9QW1lcmljYS9WYW5jb3V2ZXIiIGluIG9yZGVyIHRvIGRldGVj dCB0aGUgYnVnIGV2ZW4KfCAgICAgIG9uIHN5c3RlbXMgdGhhdCBkb24ndCBzdXBwb3J0IHRoZSBP bHNvbiBleHRlbnNpb24sIG9yIGRvbid0IGhhdmUgdGhlCnwgICAgICBmdWxsIHpvbmVpbmZvIHRh YmxlcyBpbnN0YWxsZWQuICAqLwp8ICAgcHV0ZW52ICgiVFo9UFNUOFBEVCxNNC4xLjAsTTEwLjUu MCIpOwp8IAp8ICAgdG0udG1feWVhciA9IDk4Owp8ICAgdG0udG1fbW9uID0gMzsKfCAgIHRtLnRt X21kYXkgPSA1Owp8ICAgdG0udG1faG91ciA9IDI7CnwgICB0bS50bV9taW4gPSAwOwp8ICAgdG0u dG1fc2VjID0gMDsKfCAgIHRtLnRtX2lzZHN0ID0gLTE7CnwgICByZXR1cm4gbWt0aW1lICgmdG0p ICE9ICh0aW1lX3QpIC0xOwp8IH0KfCAKfCBzdGF0aWMgaW50CnwgbWt0aW1lX3Rlc3QxICh0aW1l X3Qgbm93KQp8IHsKfCAgIHN0cnVjdCB0bSAqbHQ7CnwgICByZXR1cm4gISAobHQgPSBsb2NhbHRp bWUgKCZub3cpKSB8fCBta3RpbWUgKGx0KSA9PSBub3c7CnwgfQp8IAp8IHN0YXRpYyBpbnQKfCBt a3RpbWVfdGVzdCAodGltZV90IG5vdykKfCB7CnwgICByZXR1cm4gKG1rdGltZV90ZXN0MSAobm93 KQp8ICAgICAgICAgICAmJiBta3RpbWVfdGVzdDEgKCh0aW1lX3QpICh0aW1lX3RfbWF4IC0gbm93 KSkKfCAgICAgICAgICAgJiYgbWt0aW1lX3Rlc3QxICgodGltZV90KSAodGltZV90X21pbiArIG5v dykpKTsKfCB9CnwgCnwgc3RhdGljIGludAp8IGlyaXhfNl80X2J1ZyAoKQp8IHsKfCAgIC8qIEJh c2VkIG9uIGNvZGUgZnJvbSBBcmllbCBGYWlnb24uICAqLwp8ICAgc3RydWN0IHRtIHRtOwp8ICAg dG0udG1feWVhciA9IDk2Owp8ICAgdG0udG1fbW9uID0gMzsKfCAgIHRtLnRtX21kYXkgPSAwOwp8 ICAgdG0udG1faG91ciA9IDA7CnwgICB0bS50bV9taW4gPSAwOwp8ICAgdG0udG1fc2VjID0gMDsK fCAgIHRtLnRtX2lzZHN0ID0gLTE7CnwgICBta3RpbWUgKCZ0bSk7CnwgICByZXR1cm4gdG0udG1f bW9uID09IDIgJiYgdG0udG1fbWRheSA9PSAzMTsKfCB9CnwgCnwgc3RhdGljIGludAp8IGJpZ3Rp bWVfdGVzdCAoaW50IGopCnwgewp8ICAgc3RydWN0IHRtIHRtOwp8ICAgdGltZV90IG5vdzsKfCAg IHRtLnRtX3llYXIgPSB0bS50bV9tb24gPSB0bS50bV9tZGF5ID0gdG0udG1faG91ciA9IHRtLnRt X21pbiA9IHRtLnRtX3NlYyA9IGo7CnwgICBub3cgPSBta3RpbWUgKCZ0bSk7CnwgICBpZiAobm93 ICE9ICh0aW1lX3QpIC0xKQp8ICAgICB7CnwgICAgICAgc3RydWN0IHRtICpsdCA9IGxvY2FsdGlt ZSAoJm5vdyk7CnwgICAgICAgaWYgKCEgKGx0CnwgICAgICAgICAgICAgICYmIGx0LT50bV95ZWFy ID09IHRtLnRtX3llYXIKfCAgICAgICAgICAgICAgJiYgbHQtPnRtX21vbiA9PSB0bS50bV9tb24K fCAgICAgICAgICAgICAgJiYgbHQtPnRtX21kYXkgPT0gdG0udG1fbWRheQp8ICAgICAgICAgICAg ICAmJiBsdC0+dG1faG91ciA9PSB0bS50bV9ob3VyCnwgICAgICAgICAgICAgICYmIGx0LT50bV9t aW4gPT0gdG0udG1fbWluCnwgICAgICAgICAgICAgICYmIGx0LT50bV9zZWMgPT0gdG0udG1fc2Vj CnwgICAgICAgICAgICAgICYmIGx0LT50bV95ZGF5ID09IHRtLnRtX3lkYXkKfCAgICAgICAgICAg ICAgJiYgbHQtPnRtX3dkYXkgPT0gdG0udG1fd2RheQp8ICAgICAgICAgICAgICAmJiAoKGx0LT50 bV9pc2RzdCA8IDAgPyAtMSA6IDAgPCBsdC0+dG1faXNkc3QpCnwgICAgICAgICAgICAgICAgICAg PT0gKHRtLnRtX2lzZHN0IDwgMCA/IC0xIDogMCA8IHRtLnRtX2lzZHN0KSkpKQp8ICAgICAgICAg cmV0dXJuIDA7CnwgICAgIH0KfCAgIHJldHVybiAxOwp8IH0KfCAKfCBzdGF0aWMgaW50CnwgeWVh cl8yMDUwX3Rlc3QgKCkKfCB7CnwgICAvKiBUaGUgY29ycmVjdCBhbnN3ZXIgZm9yIDIwNTAtMDIt MDEgMDA6MDA6MDAgaW4gUGFjaWZpYyB0aW1lLAp8ICAgICAgaWdub3JpbmcgbGVhcCBzZWNvbmRz LiAgKi8KfCAgIHVuc2lnbmVkIGxvbmcgaW50IGFuc3dlciA9IDI1MjczMTUyMDBVTDsKfCAKfCAg IHN0cnVjdCB0bSB0bTsKfCAgIHRpbWVfdCB0Owp8ICAgdG0udG1feWVhciA9IDIwNTAgLSAxOTAw Owp8ICAgdG0udG1fbW9uID0gMiAtIDE7CnwgICB0bS50bV9tZGF5ID0gMTsKfCAgIHRtLnRtX2hv dXIgPSB0bS50bV9taW4gPSB0bS50bV9zZWMgPSAwOwp8ICAgdG0udG1faXNkc3QgPSAtMTsKfCAK fCAgIC8qIFVzZSB0aGUgcG9ydGFibGUgUE9TSVguMSBzcGVjaWZpY2F0aW9uICJUWj1QU1Q4UERU LE00LjEuMCxNMTAuNS4wIgp8ICAgICAgaW5zdGVhZCBvZiAiVFo9QW1lcmljYS9WYW5jb3V2ZXIi IGluIG9yZGVyIHRvIGRldGVjdCB0aGUgYnVnIGV2ZW4KfCAgICAgIG9uIHN5c3RlbXMgdGhhdCBk b24ndCBzdXBwb3J0IHRoZSBPbHNvbiBleHRlbnNpb24sIG9yIGRvbid0IGhhdmUgdGhlCnwgICAg ICBmdWxsIHpvbmVpbmZvIHRhYmxlcyBpbnN0YWxsZWQuICAqLwp8ICAgcHV0ZW52ICgiVFo9UFNU OFBEVCxNNC4xLjAsTTEwLjUuMCIpOwp8IAp8ICAgdCA9IG1rdGltZSAoJnRtKTsKfCAKfCAgIC8q IENoZWNrIHRoYXQgdGhlIHJlc3VsdCBpcyBlaXRoZXIgYSBmYWlsdXJlLCBvciBjbG9zZSBlbm91 Z2gKfCAgICAgIHRvIHRoZSBjb3JyZWN0IGFuc3dlciB0aGF0IHdlIGNhbiBhc3N1bWUgdGhlIGRp c2NyZXBhbmN5IGlzCnwgICAgICBkdWUgdG8gbGVhcCBzZWNvbmRzLiAgKi8KfCAgIHJldHVybiAo dCA9PSAodGltZV90KSAtMQp8ICAgICAgICAgICB8fCAoMCA8IHQgJiYgYW5zd2VyIC0gMTIwIDw9 IHQgJiYgdCA8PSBhbnN3ZXIgKyAxMjApKTsKfCB9CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAg IGludCByZXN1bHQgPSAwOwp8ICAgdGltZV90IHQsIGRlbHRhOwp8ICAgaW50IGksIGo7CnwgICBp bnQgdGltZV90X3NpZ25lZF9tYWduaXR1ZGUgPSAodGltZV90KSB+ICh0aW1lX3QpIDAgPCAodGlt ZV90KSAtMTsKfCAgIGludCB0aW1lX3Rfc2lnbmVkID0gISAoKHRpbWVfdCkgMCA8ICh0aW1lX3Qp IC0xKTsKfCAKfCAjaWYgSEFWRV9ERUNMX0FMQVJNCnwgICAvKiBUaGlzIHRlc3QgbWFrZXMgc29t ZSBidWdneSBta3RpbWUgaW1wbGVtZW50YXRpb25zIGxvb3AuCnwgICAgICBHaXZlIHVwIGFmdGVy IDYwIHNlY29uZHM7IGEgbWt0aW1lIHNsb3dlciB0aGFuIHRoYXQKfCAgICAgIGlzbid0IHdvcnRo IHVzaW5nIGFueXdheS4gICovCnwgICBzaWduYWwgKFNJR0FMUk0sIFNJR19ERkwpOwp8ICAgYWxh cm0gKDYwKTsKfCAjZW5kaWYKfCAKfCAgIHRpbWVfdF9tYXggPSAoISB0aW1lX3Rfc2lnbmVkCnwg ICAgICAgICAgICAgICAgID8gKHRpbWVfdCkgLTEKfCAgICAgICAgICAgICAgICAgOiAoKCgodGlt ZV90KSAxIDw8IChzaXplb2YgKHRpbWVfdCkgKiBDSEFSX0JJVCAtIDIpKSAtIDEpCnwgICAgICAg ICAgICAgICAgICAgICogMiArIDEpKTsKfCAgIHRpbWVfdF9taW4gPSAoISB0aW1lX3Rfc2lnbmVk CnwgICAgICAgICAgICAgICAgID8gKHRpbWVfdCkgMAp8ICAgICAgICAgICAgICAgICA6IHRpbWVf dF9zaWduZWRfbWFnbml0dWRlCnwgICAgICAgICAgICAgICAgID8gfiAodGltZV90KSAwCnwgICAg ICAgICAgICAgICAgIDogfiB0aW1lX3RfbWF4KTsKfCAKfCAgIGRlbHRhID0gdGltZV90X21heCAv IDk5NzsgLyogYSBzdWl0YWJsZSBwcmltZSBudW1iZXIgKi8KfCAgIGZvciAoaSA9IDA7IGkgPCBO X1NUUklOR1M7IGkrKykKfCAgICAgewp8ICAgICAgIGlmICh0el9zdHJpbmdzW2ldKQp8ICAgICAg ICAgcHV0ZW52ICh0el9zdHJpbmdzW2ldKTsKfCAKfCAgICAgICBmb3IgKHQgPSAwOyB0IDw9IHRp bWVfdF9tYXggLSBkZWx0YSAmJiAocmVzdWx0ICYgMSkgPT0gMDsgdCArPSBkZWx0YSkKfCAgICAg ICAgIGlmICghIG1rdGltZV90ZXN0ICh0KSkKfCAgICAgICAgICAgcmVzdWx0IHw9IDE7CnwgICAg ICAgaWYgKChyZXN1bHQgJiAyKSA9PSAwCnwgICAgICAgICAgICYmICEgKG1rdGltZV90ZXN0ICgo dGltZV90KSAxKQp8ICAgICAgICAgICAgICAgICAmJiBta3RpbWVfdGVzdCAoKHRpbWVfdCkgKDYw ICogNjApKQp8ICAgICAgICAgICAgICAgICAmJiBta3RpbWVfdGVzdCAoKHRpbWVfdCkgKDYwICog NjAgKiAyNCkpKSkKfCAgICAgICAgIHJlc3VsdCB8PSAyOwp8IAp8ICAgICAgIGZvciAoaiA9IDE7 IChyZXN1bHQgJiA0KSA9PSAwOyBqIDw8PSAxKQp8ICAgICAgICAgewp8ICAgICAgICAgICBpZiAo ISBiaWd0aW1lX3Rlc3QgKGopKQp8ICAgICAgICAgICAgIHJlc3VsdCB8PSA0Owp8ICAgICAgICAg ICBpZiAoSU5UX01BWCAvIDIgPCBqKQp8ICAgICAgICAgICAgIGJyZWFrOwp8ICAgICAgICAgfQp8 ICAgICAgIGlmICgocmVzdWx0ICYgOCkgPT0gMCAmJiAhIGJpZ3RpbWVfdGVzdCAoSU5UX01BWCkp CnwgICAgICAgICByZXN1bHQgfD0gODsKfCAgICAgfQp8ICAgaWYgKCEgaXJpeF82XzRfYnVnICgp KQp8ICAgICByZXN1bHQgfD0gMTY7CnwgICBpZiAoISBzcHJpbmdfZm9yd2FyZF9nYXAgKCkpCnwg ICAgIHJlc3VsdCB8PSAzMjsKfCAgIGlmICghIHllYXJfMjA1MF90ZXN0ICgpKQp8ICAgICByZXN1 bHQgfD0gNjQ7CnwgICByZXR1cm4gcmVzdWx0Owp8IH0KY29uZmlndXJlOjI1MDYwOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToyNTEyMTogY2hlY2tpbmcgd2hldGhlciBzaWduYXR1cmUgb2YgcHNlbGVj dCBjb25mb3JtcyB0byBQT1NJWApjb25maWd1cmU6MjUxNDE6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0 b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIyODo1NTogd2FybmluZzogaW5pdGlhbGl6YXRpb24g ZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNpZ3NldF90IGNvbnN0ICpyZXN0cmljdCkgPSBwc2VsZWN0 OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xgpjb25maWd1cmU6MjUxNDE6ICQ/ID0gMApjb25maWd1cmU6MjUxNDk6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyNTE1MjogY2hlY2tpbmcgd2hldGhlciBwc2VsZWN0IGRldGVjdHMgaW52YWxpZCBm ZHMKY29uZmlndXJlOjI1MTk3OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAt TDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1s cHRocmVhZCAgLWxwbmcxNSA+JjUgCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u ZnRlc3QuYzoyMzY6Mzogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g J21lbXNldCcgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIEZEX1pFUk8oJnNl dCk7CiAgIF4KY29uZmlndXJlOjI1MTk3OiAkPyA9IDAKY29uZmlndXJlOjI1MTk3OiAuL2NvbmZ0 ZXN0CmNvbmZpZ3VyZToyNTE5NzogJD8gPSAwCmNvbmZpZ3VyZToyNTIwODogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjI1MzE0OiBjaGVja2luZyB3aGV0aGVyIHB0aHJlYWRfc2lnbWFzayB3b3JrcyB3 aXRob3V0IC1scHRocmVhZApjb25maWd1cmU6MjUzNDM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjI1MzQzOiAkPyA9 IDAKY29uZmlndXJlOjI1MzQzOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyNTM0MzogJD8gPSAxCmNv bmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkx Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMg MQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRN UF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9G TEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwg I2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUg SEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklO RyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElN IDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRl cgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAj ZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9Y X1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNk ZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZF X1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09D S05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJ TSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2Rl ZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZF X0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xP RzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEK fCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwg I2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhB VkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNk ZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUg SEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9H RVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZF X0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZP X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmlj dF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmlu ZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVf U09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQ Q0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFN RSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19E RVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9 PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllf U0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJ T04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5U RiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9T UFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxT X1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNk ZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmlu ZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgi CnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZk aXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2Vy YmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3Vu ZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0t d2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNw cGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZM QUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAj ZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhB VkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAx CnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNM IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVD TF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9V TlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZF X0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmlu ZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZB Q0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJ Ql9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAt IGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05M SVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJF RklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBH TlVMSUJfTUtPU1RFTVAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8 cHRocmVhZC5oPgp8ICNpbmNsdWRlIDxzaWduYWwuaD4KfCAjaW5jbHVkZSA8c3RkZGVmLmg+Cnwg aW50IG1haW4gKCkKfCB7CnwgICBzaWdzZXRfdCBzZXQ7CnwgICBzaWdlbXB0eXNldCAoJnNldCk7 CnwgICByZXR1cm4gcHRocmVhZF9zaWdtYXNrICgxNzI5LCAmc2V0LCBOVUxMKSAhPSAwOwp8IH0K Y29uZmlndXJlOjI1MzU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjUzNjY6IGNoZWNraW5nIHdo ZXRoZXIgcHRocmVhZF9zaWdtYXNrIHJldHVybnMgZXJyb3IgbnVtYmVycwpjb25maWd1cmU6MjUz OTg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8z ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1 ICA+JjUgCmNvbmZpZ3VyZToyNTM5ODogJD8gPSAwCmNvbmZpZ3VyZToyNTM5ODogLi9jb25mdGVz dApjb25maWd1cmU6MjUzOTg6ICQ/ID0gMApjb25maWd1cmU6MjU0MTA6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyNTQyMTogY2hlY2tpbmcgd2hldGhlciBwdGhyZWFkX3NpZ21hc2sgdW5ibG9ja3Mg c2lnbmFscyBjb3JyZWN0bHkKY29uZmlndXJlOjI1NDc1OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9j ICBjb25mdGVzdC5jIC1scHRocmVhZCAgLWxwbmcxNSAgPiY1IApjb25maWd1cmU6MjU0NzU6ICQ/ ID0gMApjb25maWd1cmU6MjU0NzU6IC4vY29uZnRlc3QKY29uZmlndXJlOjI1NDc1OiAkPyA9IDAK Y29uZmlndXJlOjI1NDg3OiByZXN1bHQ6IGd1ZXNzaW5nIHllcwpjb25maWd1cmU6MjU1MzE6IGNo ZWNraW5nIGZvciBwdXRlbnYgY29tcGF0aWJsZSB3aXRoIEdOVSBhbmQgU1ZJRApjb25maWd1cmU6 MjU1NzA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg LU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBu ZzE1ID4mNSAKY29uZmlndXJlOjI1NTcwOiAkPyA9IDAKY29uZmlndXJlOjI1NTcwOiAuL2NvbmZ0 ZXN0CmNvbmZpZ3VyZToyNTU3MDogJD8gPSAzCmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0 aCBzdGF0dXMgMwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NP VVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRf QklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZ U19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2Rl ZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5O VU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9J MThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAx CnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZp bmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUlu c3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BO R19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmlu ZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJO TyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNk ZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUg SEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dF VExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwg I2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmlu ZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9G Q05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZ IDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVm aW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUg SEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVf TE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExP Q0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBI QVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUg QU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VO X0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIv ZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsg YysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9w dGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0 eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5l IERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAj ZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJ R0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8 ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFU SU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElP TlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGly PTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgt eC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRo b3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQt c2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRo b3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIK fCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNk ZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxM T0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xE IDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFU QVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRf UFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJp Y3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBI QVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS VE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dP UktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUg R0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf Q0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUg R05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFW RV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVO RElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9M SUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BP SU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVP RkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lz L3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJ Ql9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZF X01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8 c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxz dHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8 c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVu aXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICAgIC8qIFB1dCBpdCBp biBlbnYuICAqLwp8ICAgICBpZiAocHV0ZW52ICgiQ09ORlRFU1RfcHV0ZW52PXZhbCIpKQp8ICAg ICAgIHJldHVybiAxOwp8IAp8ICAgICAvKiBUcnkgdG8gcmVtb3ZlIGl0LiAgKi8KfCAgICAgaWYg KHB1dGVudiAoIkNPTkZURVNUX3B1dGVudiIpKQp8ICAgICAgIHJldHVybiAyOwp8IAp8ICAgICAv KiBNYWtlIHN1cmUgaXQgd2FzIGRlbGV0ZWQuICAqLwp8ICAgICBpZiAoZ2V0ZW52ICgiQ09ORlRF U1RfcHV0ZW52IikgIT0gMCkKfCAgICAgICByZXR1cm4gMzsKfCAKfCAgICAgcmV0dXJuIDA7Cnwg CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNTU4MTogcmVzdWx0OiBubwpjb25m aWd1cmU6MjU2MDI6IGNoZWNraW5nIHdoZXRoZXIgX3B1dGVudiBpcyBkZWNsYXJlZApjb25maWd1 cmU6MjU2MDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjI2MjoxMDogZXJyb3I6ICdfcHV0 ZW52JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgKHZvaWQpIF9w dXRlbnY7CiAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MjYyOjEwOiBub3RlOiBlYWNoIHVuZGVjbGFy ZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQg YXBwZWFycyBpbgpjb25maWd1cmU6MjU2MDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8 ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9U RVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFH UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFW RV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gx MVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEK fCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAx CnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NN IDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NF TkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF UlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIg MQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2Rl ZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVf VFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZp bmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVm aW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9T WU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRE VEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lO RVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NP REVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9h cnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBD TEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hB UiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBE SVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04g aW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBz dHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJ TlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJ QV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZp bmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBV U0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwg I2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNk ZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQu My45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9 PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVy b3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAt LXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0 aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0 aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdT PSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVm aW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVf WDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwg I2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1P REUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9H RVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JP T0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNF VEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NM T0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NF U1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9G RE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZw LT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNU X0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklY IHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVM SUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERD X0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkK fCB7CnwgI2lmbmRlZiBfcHV0ZW52CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgX3B1 dGVudjsKfCAjZWxzZQp8ICAgKHZvaWQpIF9wdXRlbnY7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwg ICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNTYwMjogcmVzdWx0OiBubwpjb25maWd1 cmU6MjU2NDE6IGNoZWNraW5nIHN5cy9hY2wuaCB1c2FiaWxpdHkKY29uZmlndXJlOjI1NjQxOiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNTY0MTog JD8gPSAwCmNvbmZpZ3VyZToyNTY0MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI1NjQxOiBjaGVj a2luZyBzeXMvYWNsLmggcHJlc2VuY2UKY29uZmlndXJlOjI1NjQxOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtRSAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0 ZXN0LmMKY29uZmlndXJlOjI1NjQxOiAkPyA9IDAKY29uZmlndXJlOjI1NjQxOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MjU2NDE6IGNoZWNraW5nIGZvciBzeXMvYWNsLmgKY29uZmlndXJlOjI1NjQx OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjU2NTU6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRh aW5pbmcgYWNsX2dldF9maWxlCmNvbmZpZ3VyZToyNTY4NjogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3Rv YyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5nMTUgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6 IFVuZGVmaW5lZCBzeW1ib2w6IC5hY2xfZ2V0X2ZpbGUKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJs b2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNv bGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MjU2ODY6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklU X0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmlu ZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1C RVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThO IDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwg I2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUg SEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3Rh bnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19I IDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBI QVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwg I2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVS TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJ TkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9D T1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklU IDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2Rl ZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBI QVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05U TCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK fCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FM VElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZF X0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5U RiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNU QVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1Q RVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUg SEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklD RSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3Nl cyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVD VE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNf RElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNf QU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2 L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysr KQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMi KTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5h bWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERB VEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVm aW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hU ICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNk ZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9O ICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMg Ii0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxM T0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10 b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0 LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Ny b2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0 LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAj ZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZp bmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0Mg MQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEK fCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJF RklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3Qg X19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZF X1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9U IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VU R1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xP Q0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05V TElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9B Q0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElO R19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQ RVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5U RVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRB WV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZp bmUgSEFWRV9TWVNfQUNMX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVy cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBV c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBj aGFyIGFjbF9nZXRfZmlsZSAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBhY2xfZ2V0 X2ZpbGUgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNTY4NjogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv bGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbGFjbCAgLWxwdGhyZWFkICAtbHBuZzE1ID4m NSAKY29sbGVjdDI6IGZhdGFsIGVycm9yOiBsaWJyYXJ5IGxpYmFjbCBub3QgZm91bmQKY29tcGls YXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjI1Njg2OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQu My45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkx Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9T RU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJ TEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF X1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1Qg MAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVm aW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VT VFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUg SEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBv aW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAx CnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhB VkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJf TkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VU REVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUg SEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFW RV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQg MQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lO QyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEK fCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhB VkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUg SEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVf VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5H SU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVz dHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNk ZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBI QVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5l IFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxM X05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUg SVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9j XykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNU T1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwg I2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRF UkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQ UklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05B TUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lH TkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNk ZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVy bS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAu MCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNj b25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0 LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQt c291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1u byAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2Fs bGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdD UFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAx CnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmlu ZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVm aW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJ QU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05f REVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZF X0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBI QVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUg SEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNk ZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJ Ql9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBH TlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9w dHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFW RV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BU X1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZp bmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19j cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBhY2xfZ2V0X2ZpbGUgKCk7Cnwg aW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gYWNsX2dldF9maWxlICgpOwp8ICAgOwp8ICAgcmV0 dXJuIDA7CnwgfQpjb25maWd1cmU6MjU2ODY6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2lu Y2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0 ZXN0LmMgLWxwYWNsICAtbHB0aHJlYWQgIC1scG5nMTUgPiY1IApjb2xsZWN0MjogZmF0YWwgZXJy b3I6IGxpYnJhcnkgbGlicGFjbCBub3QgZm91bmQKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29u ZmlndXJlOjI1Njg2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJX SU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1Qg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNf V0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZf RExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9M RU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01N QVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJB U0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmlu ZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZF X1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhU IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJl Z2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVf WFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xP Q0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNB R0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZF X0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dS QU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8g MQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVm aW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVD VCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1P RCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwg I2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5l IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QK fCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9O IDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZp bmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmlu ZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwg I2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAK fCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkK fCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVm aW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5E X0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMg PSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFt ZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0 eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAx CnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9X T1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVm aW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1Nf Q09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXBy ZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9j YWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1w b3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJl cm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91 dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBB VEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09M S0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmlu ZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9D OTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8 ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEK fCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEK fCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAj ZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAj ZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVm aW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5l IE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmlu ZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVU RU5WIDAKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4g ZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0 eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMi CnwgI2VuZGlmCnwgY2hhciBhY2xfZ2V0X2ZpbGUgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBy ZXR1cm4gYWNsX2dldF9maWxlICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MjU3MDM6IHJlc3VsdDogbm8KY29uZmlndXJlOjI1ODgxOiBjaGVja2luZyBmb3IgZmFjbApjb25m aWd1cmU6MjU4ODE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFk ICAtbHBuZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAuZmFj bApsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBv YnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4 aXQgc3RhdHVzCmNvbmZpZ3VyZToyNTg4MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwg I2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZF X1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEK fCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5l IEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwg I2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZp bmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00g MQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmlu ZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUg SEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVf U1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VO RFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVS Uk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEK fCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZT RVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNk ZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVm aW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9U WlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZF X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERU QUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5F VF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9S SyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2Fy ciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENM QVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NL RVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFS ICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3 LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklD RV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJ UkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAg KF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUg REVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBp bnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0 cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklO VEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklB X0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVT RyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAj ZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08 RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJv cyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0t d2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRo LXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRo PTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9 IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZp bmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9Y MTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAj ZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9E RSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dF VEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9P TCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VU RU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xP Q0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhB VkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VT U0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZE T1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAt Pl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1Rf SCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVgg cnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJ Ql9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBmYWNsIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBp biBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZmFjbC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVgg MTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGZhY2wg aW5ub2N1b3VzX2ZhY2wKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFj cm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGlj dCB3aXRoIGNoYXIgZmFjbCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxh c3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBl eGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19T VERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQu aD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZmFjbAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50 ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lm ZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZmFjbCAoKTsKfCAv KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBp bXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlv bnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9m YWNsIHx8IGRlZmluZWQgX19zdHViX19fZmFjbAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZmFjbCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjI1ODgxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNTk2ODogY2hlY2tpbmcgZm9y IGdldGFjbApjb25maWd1cmU6MjU5Njg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0 LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQg c3ltYm9sOiAuZ2V0YWNsCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVp ZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxk IHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjI1OTY4OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xB UkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVf TkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVT T1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2Fy ZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZF X1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVm aW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FM RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNk ZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZp bmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwg I2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFW RV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xT VEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVm aW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNk ZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5l IEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5l IF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUg MQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2Rl ZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAj ZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNF Ul9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNk ZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2Nf KSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNf RElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQ VFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9O QU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlf VFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZp bmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAw MDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAg MQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAy MDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4 Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEg LS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13 aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdp dGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRo LWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxl LWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9 LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxB R1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lO RE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwg I2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9B TExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19C SUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VO VklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2Rl ZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90Cnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNk ZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0g MQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5l IEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2Rl ZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMg ZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZp bmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9f R0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8 ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9I IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdldGFjbCB0byBhbiBpbm5v Y3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldGFjbC4KfCAgICBG b3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAg Ki8KfCAjZGVmaW5lIGdldGFjbCBpbm5vY3VvdXNfZ2V0YWNsCnwgCnwgLyogU3lzdGVtIGhlYWRl ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8 ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldGFjbCAoKTsgYmVsb3cuCnwgICAg IFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwg c2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGls ZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNl bHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZ2V0YWNsCnwg CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg I2VuZGlmCnwgY2hhciBnZXRhY2wgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ2V0YWNsIHx8IGRlZmluZWQgX19zdHViX19fZ2V0 YWNsCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBn ZXRhY2wgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNTk2ODogcmVzdWx0 OiBubwpjb25maWd1cmU6MjU5ODI6IGNoZWNraW5nIGZvciBhY2x2LmgKY29uZmlndXJlOjI1OTgy OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MjI2 OjE4OiBmYXRhbCBlcnJvcjogYWNsdi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5j bHVkZSA8YWNsdi5oPgogICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu CmNvbmZpZ3VyZToyNTk4MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4z LjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBB Q0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVm aW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVm aW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBf REFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAj ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZF X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJf U0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERB VEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5l IEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNk ZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUg SEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElC WEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5l IFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBI QVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAj ZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9a TElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZp bmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VT RV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU UlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUg SEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9X TiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFM IDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAj ZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAj ZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5l IEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAx CnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmlu ZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFW RV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1J TkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9G Q0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUg MQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRT IDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5l IEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwg I2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVD VElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAj ZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNk ZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNv cwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2Nf KSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9T RVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwg I2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9T T1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9y IChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5 X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5 IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RF UlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRK TVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwg I2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFD U19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhl Yy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAt LWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhv dXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1r ZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdp dGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJ U1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hf VE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNk ZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhB VkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2Rl ZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJV RiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElN RSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAx CnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAx CnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwg I2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2Rl ZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNk ZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVN UCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf X1BVVEVOViAwCnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAKfCAjaW5jbHVkZSA8YWNsdi5oPgpjb25m aWd1cmU6MjU5ODI6IHJlc3VsdDogbm8KY29uZmlndXJlOjI1OTk4OiBjaGVja2luZyBmb3IgYWNs eF9nZXQKY29uZmlndXJlOjI1OTk4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRl ICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5j IC1scHRocmVhZCAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToyNTk5ODogJD8gPSAwCmNvbmZpZ3Vy ZToyNTk5ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2MDE1OiBjaGVja2luZyBmb3Igc3RhdGFj bApjb25maWd1cmU6MjYwMTU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxw dGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjI2MDE1OiAkPyA9IDAKY29uZmlndXJlOjI2 MDE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjYwNzI6IGNoZWNraW5nIHdoZXRoZXIgcmVhZGxp bmsgc2lnbmF0dXJlIGlzIGNvcnJlY3QKY29uZmlndXJlOjI2MDkwOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MjI5OjE1OiBlcnJvcjogY29uZmxp Y3RpbmcgdHlwZXMgZm9yICdyZWFkbGluaycKICAgICAgIHNzaXplX3QgcmVhZGxpbmsgKGNvbnN0 IGNoYXIgKiwgY2hhciAqLCBzaXplX3QpOwogICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSBjb25mdGVzdC5jOjIyNzowOgovdXNyL2luY2x1ZGUvdW5pc3RkLmg6ODMzOjEzOiBu b3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAncmVhZGxpbmsnIHdhcyBoZXJlCiAgZXh0ZXJu IGludCByZWFkbGluayhjb25zdCBjaGFyICosIGNoYXIgKiwgc2l6ZV90KTsKICAgICAgICAgICAg IF4KY29uZmlndXJlOjI2MDkwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5l IF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhB VkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE Ul9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VU REFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwg I2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmlu ZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9M SUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5l IEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZF X1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2Rl ZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxf VVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZp bmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVE IDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVm aW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBI QVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVS TUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEK fCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBI QVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZF X0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0la RSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tF VFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEK fCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVz dHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVU RUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwg I2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dl Y29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChf Y18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZ X1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkK fCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBm b3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChw dHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJj cHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFD VEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NF VEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8K fCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1l eGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+ IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0 aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0 LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0t d2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FM TElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0Vf WF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwg I2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdO RURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUg SEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEK fCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxB Uk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8 ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElN QlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAx CnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRU SU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAy IDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElS IDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UK fCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAj ZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwg I2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NU RU1QIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9fUFVURU5WIDAKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNM WF9HRVQgMQp8ICNkZWZpbmUgSEFWRV9TVEFUQUNMIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8dW5pc3RkLmg+CnwgICAgICAgLyogQ2F1 c2UgY29tcGlsYXRpb24gZmFpbHVyZSBpZiBvcmlnaW5hbCBkZWNsYXJhdGlvbiBoYXMgd3Jvbmcg dHlwZS4gICovCnwgICAgICAgc3NpemVfdCByZWFkbGluayAoY29uc3QgY2hhciAqLCBjaGFyICos IHNpemVfdCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjI2MDk3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjA5OTogY2hlY2tpbmcgd2hl dGhlciByZWFkbGluayBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoIGNvcnJlY3RseQpjb25maWd1cmU6 MjYxMjk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg LU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBu ZzE1ID4mNSAKY29uZmlndXJlOjI2MTI5OiAkPyA9IDAKY29uZmlndXJlOjI2MTI5OiAuL2NvbmZ0 ZXN0CmNvbmZpZ3VyZToyNjEyOTogJD8gPSAwCmNvbmZpZ3VyZToyNjE0MDogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjI2MjE3OiBjaGVja2luZyBmb3Igc2lnMnN0cgpjb25maWd1cmU6MjYyMTc6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAK bGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAuc2lnMnN0cgpsZDogMDcxMS0z NDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBp bmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNv bmZpZ3VyZToyNjIxNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkx Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5l IF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFS V0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2Rl ZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNU IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0Ff TEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFC QVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZp bmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFW RV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVY VCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhS ZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZF X1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElC IDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUg SEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9M T0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVT QUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFW RV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAx CnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVm aW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhB VkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwg I2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBI QVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9H UkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZP IDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hN T0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNk ZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8 ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEK fCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2Rl ZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElP TiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVm aW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZp bmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8 ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAw CnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVAp CnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2Rl ZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VO RF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChj ID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25h bWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChw dHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMg MQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBf V09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19D T05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1w cmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxv Y2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQt cG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJi ZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhv dXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQ QVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9P TEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZp bmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVf Qzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmlu ZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2Rl ZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEK fCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBI QVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAx CnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNk ZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAx CnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwg I2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwg I2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2Rl ZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmlu ZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZp bmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BV VEVOViAwCnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTFhfR0VU IDEKfCAjZGVmaW5lIEhBVkVfU1RBVEFDTCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHNpZzJzdHIgdG8gYW4gaW5ub2N1b3VzIHZhcmlh bnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzaWcyc3RyLgp8ICAgIEZvciBleGFtcGxl LCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZp bmUgc2lnMnN0ciBpbm5vY3VvdXNfc2lnMnN0cgp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hp Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzaWcyc3RyICgpOyBiZWxvdy4KfCAgICAgUHJlZmVy IDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8 ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAq Lwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAj IGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzaWcyc3RyCnwgCnwgLyog T3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwg ICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg R0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0 aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlm CnwgY2hhciBzaWcyc3RyICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBm b3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0 aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRo aW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICov CnwgI2lmIGRlZmluZWQgX19zdHViX3NpZzJzdHIgfHwgZGVmaW5lZCBfX3N0dWJfX19zaWcyc3Ry CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzaWcy c3RyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjYyMTc6IHJlc3VsdDog bm8KY29uZmlndXJlOjI2MzE5OiBjaGVja2luZyBmb3Igdm9sYXRpbGUgc2lnX2F0b21pY190CmNv bmZpZ3VyZToyNjMxOTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAt TzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6MjYzMTk6ICQ/ID0gMApjb25maWd1cmU6MjYzMTk6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpj b25mdGVzdC5jOjIzNDozNjogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0 b2tlbgogaWYgKHNpemVvZiAoKHZvbGF0aWxlIHNpZ19hdG9taWNfdCkpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjMxOTogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9M QVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZp bmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAx CnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJF U09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElC WE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2Rl ZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19h cmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFW RV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2Rl ZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVf TElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1RO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NB TEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEK fCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAj ZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUg SEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBI QVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVm aW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf T1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhB VkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9M U1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAx CnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwg I2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2Rl ZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAj ZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmlu ZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1F IDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNk ZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwg I2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVT RVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAj ZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9j XykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElT X0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05B TUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUg UFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlf TkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZ X1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVm aW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIw MDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1Q IDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFp eDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx IC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0t d2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13 aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0 aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJs ZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdT PS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZM QUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJ TkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8 ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxf QUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAx CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNf QklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9F TlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZp bmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNk ZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8 ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAj ZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFN IDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmlu ZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNk ZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVT IGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVm aW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBf X0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQK fCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBIQVZFX1NZU19BQ0xf SCAxCnwgI2RlZmluZSBIQVZFX0FDTFhfR0VUIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEFDTCAxCnwg I2RlZmluZSBVU0VfQUNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgI2luY2x1ZGUg PHNpZ25hbC5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKHZvbGF0 aWxlIHNpZ19hdG9taWNfdCkpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToyNjMxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2MzM1OiBjaGVja2lu ZyBmb3Igc2lnaGFuZGxlcl90CmNvbmZpZ3VyZToyNjMzNTogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0 ZXN0LmM6MjM0OjEzOiBlcnJvcjogJ3NpZ2hhbmRsZXJfdCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiBpZiAoc2l6ZW9mIChzaWdoYW5kbGVyX3QpKQogICAgICAgICAg ICAgXgpjb25mdGVzdC5jOjIzNDoxMzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29u ZmlndXJlOjI2MzM1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJX SU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1Qg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNf V0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZf RExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9M RU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01N QVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJB U0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmlu ZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZF X1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhU IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJl Z2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVf WFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xP Q0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNB R0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZF X0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dS QU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8g MQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVm aW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVD VCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1P RCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwg I2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5l IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QK fCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9O IDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZp bmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmlu ZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwg I2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAK fCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkK fCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVm aW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5E X0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMg PSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFt ZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0 eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAx CnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9X T1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVm aW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1Nf Q09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXBy ZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9j YWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1w b3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJl cm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91 dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBB VEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09M S0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmlu ZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9D OTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8 ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEK fCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEK fCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAj ZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAj ZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVm aW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5l IE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmlu ZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVU RU5WIDAKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMWF9HRVQg MQp8ICNkZWZpbmUgSEFWRV9TVEFUQUNMIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8c2lnbmFsLmg+CnwgCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCBpZiAoc2l6ZW9mIChzaWdoYW5kbGVyX3QpKQp8IAkgcmV0dXJuIDA7CnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjMzNTogcmVzdWx0OiBubwpjb25maWd1cmU6 MjYzNDg6IGNoZWNraW5nIGZvciBzb2NrbGVuX3QKY29uZmlndXJlOjI2MzQ4OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNjM0ODogJD8gPSAwCmNv bmZpZ3VyZToyNjM0ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAt TzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjQyOjI0OiBlcnJvcjog ZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgoc29ja2xl bl90KSkpCiAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjI2MzQ4OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T RUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN RSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9M T05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JF RU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUg SEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElN IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNh bGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZG IDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9H RVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhB VkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dF VEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VS QVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04g MQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5l IEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2Rl ZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNf SU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNk ZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmlu ZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9S IDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FD SEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEK fCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEK fCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9G VUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZ UyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYv bnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNk ZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQ ICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9S WV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAo X2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVm aW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2Rl ZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkp Owp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19C SVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJp Z2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJw Yy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFU RURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1s dWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJv czUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJz IC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5m byBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBI QVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9M VUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVm aW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmlu ZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxf CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVN UkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRf VCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1F UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19U IGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJ TUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9T RV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEK fCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJ UiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVU X05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQg MQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpP TkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIEhBVkVf U1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMWF9HRVQgMQp8ICNkZWZpbmUgSEFWRV9TVEFU QUNMIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAv KiA8c3lzL3R5cGVzLmg+IGlzIG5vdCBuZWVkZWQgYWNjb3JkaW5nIHRvIFBPU0lYLCBidXQgdGhl CnwgICAgPHN5cy9zb2NrZXQuaD4gaW4gaTM4Ni11bmtub3duLWZyZWVic2Q0LjEwIGFuZAp8ICAg IHBvd2VycGMtYXBwbGUtZGFyd2luNS41IHJlcXVpcmVkIGl0LiAqLwp8ICNpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gKfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQu aD4KfCAjZWxpZiBIQVZFX1dTMlRDUElQX0gKfCAjIGluY2x1ZGUgPHdzMnRjcGlwLmg+CnwgI2Vu ZGlmCnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoc29ja2xlbl90KSkp CnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2MzQ4 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjY0MTI6IGNoZWNraW5nIGZvciBzc2l6ZV90CmNvbmZp Z3VyZToyNjQyOTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMg ICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6MjY0Mjk6ICQ/ID0gMApjb25maWd1cmU6MjY0MzY6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyNjQ0ODogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2F0aW0udHZfbnNlYwpjb25maWd1 cmU6MjY0NDg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzNDoxMjogZXJyb3I6ICdzdHJ1 Y3Qgc3RhdDY0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9hdGltJwogaWYgKGFjX2FnZ3Iuc3Rf YXRpbS50dl9uc2VjKQogICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjQ0ODogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05F VF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9B REFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19G SUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVF TlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEK fCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUg SEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVf TElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwg I2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFj a19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUg SEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwg I2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhP U1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NV UlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVf U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRM T0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZP IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEK fCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmlu ZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEK fCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAj ZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZF X1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9T SVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFW RV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElO SyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAx CnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwg I2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEK fCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5l IEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2Rl ZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9O QU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8 ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwi CnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5l IFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycK fCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQ KF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykg KElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElS X05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQ VFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUg UFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAj ZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAw eDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VU Sk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAo QykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hF QURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJt LWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+ IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQg LS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0t d2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVu YWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZM QUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdM REZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9Y X1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQg MQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBS RUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09S RFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFW RV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNk ZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8 ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRf dAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEK fCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RS RUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2Rl ZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8 ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZ VEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAj ZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmlu ZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZv aWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBIQVZFX1NZU19B Q0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTFhfR0VUIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEFDTCAx CnwgI2RlZmluZSBVU0VfQUNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5zdF9h dGltLnR2X25zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToyNjQ0ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjM0OjE5OiBlcnJvcjogJ3N0cnVj dCBzdGF0NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW0nCiBpZiAoc2l6ZW9mIGFjX2Fn Z3Iuc3RfYXRpbS50dl9uc2VjKQogICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjY0NDg6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklU X0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmlu ZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1C RVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThO IDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwg I2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUg SEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3Rh bnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19I IDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBI QVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwg I2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVS TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJ TkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9D T1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklU IDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2Rl ZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBI QVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05U TCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK fCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FM VElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZF X0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5U RiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNU QVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1Q RVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUg SEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklD RSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3Nl cyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVD VE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNf RElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNf QU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2 L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysr KQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMi KTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5h bWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERB VEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVm aW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hU ICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNk ZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9O ICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMg Ii0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxM T0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10 b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0 LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Ny b2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0 LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAj ZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZp bmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0Mg MQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEK fCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJF RklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3Qg X19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZF X1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9U IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VU R1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xP Q0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05V TElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9B Q0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElO R19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQ RVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5U RVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRB WV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZp bmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xYX0dFVCAxCnwgI2RlZmluZSBI QVZFX1NUQVRBQ0wgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8 IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYg KHNpemVvZiBhY19hZ2dyLnN0X2F0aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjI2NDQ4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjQ5OTog Y2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2F0aW1lc3BlYy50dl9uc2VjCmNvbmZpZ3VyZToy NjQ5OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjM0OjEyOiBlcnJvcjogJ3N0cnVjdCBz dGF0NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW1lc3BlYycKIGlmIChhY19hZ2dyLnN0 X2F0aW1lc3BlYy50dl9uc2VjKQogICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjQ5OTogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUg VkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUg MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ TUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVf WFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NS RUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5l IEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJ TSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVD YWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZF X0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElG RiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVm aW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZF X0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVf R0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFE RFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwg I2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9H RVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtF UkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdO IDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVT X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRP VU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVf UiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NB Q0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAx CnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRf RlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BU WVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2 L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAj ZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NF UCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RP UllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQ KF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8 ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2Rl ZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNk ZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQp KTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdf QklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFW RV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHly aWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBU RVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2Vy cGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVm aXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RB VEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9 bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVy b3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFy cyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWlu Zm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUg SEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0Vf TFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2Rl ZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZp bmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBs Xwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01F TVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VU X1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElN RVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNf VCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRU SU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xP U0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAx CnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5E SVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBV VF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFU IDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwg I2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVa T05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBIQVZF X1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTFhfR0VUIDEKfCAjZGVmaW5lIEhBVkVfU1RB VEFDTCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoYWNf YWdnci5zdF9hdGltZXNwZWMudHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjI2NDk5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzQ6MTk6 IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYXRpbWVzcGVj JwogaWYgKHNpemVvZiBhY19hZ2dyLnN0X2F0aW1lc3BlYy50dl9uc2VjKQogICAgICAgICAgICAg ICAgICAgXgpjb25maWd1cmU6MjY0OTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNk ZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJh aXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VU U05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJN X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9Y Uk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAj ZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBI QVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5l IEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NU UlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRU TyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUg MQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwg I2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VU U1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUg SEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1M SU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFC TEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRf U09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg MQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVT RVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIg X19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFT SF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VU UyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAn OicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+ cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0Vf U0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJF Q1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChf Y18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERF RkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50 IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJj cHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRG IHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9D SEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUg R0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cg LyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVU Q0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3Mg LS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdp dGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14 cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08 TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5l IFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDEx IDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVO ViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NL X1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZF X0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NB VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9Q RU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5f YmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0gg MQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJf TUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFW RV9BQ0xYX0dFVCAxCnwgI2RlZmluZSBIQVZFX1NUQVRBQ0wgMQp8ICNkZWZpbmUgVVNFX0FDTCAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAg ICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGlj IHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2F0aW1lc3BlYy50 dl9uc2VjKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY0 OTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjI2NTEwOiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQu c3RfYXRpbWVuc2VjCmNvbmZpZ3VyZToyNjUxMDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6 MjM0OjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0 aW1lbnNlYycKIGlmIChhY19hZ2dyLnN0X2F0aW1lbnNlYykKICAgICAgICAgICAgXgpjb25maWd1 cmU6MjY1MTA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJl bWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9V U0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElN SVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhB VkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDEx WFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8 ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0 ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0g MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBI QVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwg I2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVf SF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0Yg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9S QU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VO V0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQ VCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwg I2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUg SEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5l IEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVm aW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2Rl ZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP UktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFW RV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNk ZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8 ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBO VUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1 YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVm aW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNk ZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNk ZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUg QlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVW SUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7 ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAi L2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25h bWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAj ZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktT IDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUg Q09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklH X09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4 PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0 YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAt LXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3Mg LS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRv b2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4g LS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv bGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQg MQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdO VV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0gg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9T VFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19H RVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUg cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2Rl ZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNk ZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5l IEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNk ZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZp bmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZp bmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUg SEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9O QU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdF VFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYg MAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xYX0dFVCAxCnwg I2RlZmluZSBIQVZFX1NUQVRBQ0wgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAgICAgICNpbmNsdWRl IDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0 IGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3Iuc3RfYXRpbWVuc2VjKQp8IHJldHVybiAwOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY1MTA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVz dC5jOjIzNDoxOTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdDY0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdz dF9hdGltZW5zZWMnCiBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbWVuc2VjKQogICAgICAgICAg ICAgICAgICAgXgpjb25maWd1cmU6MjY1MTA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8 ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9U RVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFH UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFW RV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gx MVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEK fCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAx CnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NN IDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NF TkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF UlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIg MQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2Rl ZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVf VFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZp bmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVm aW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9T WU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRE VEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lO RVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NP REVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9h cnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBD TEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hB UiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBE SVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04g aW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBz dHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJ TlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJ QV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZp bmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBV U0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwg I2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNk ZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQu My45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9 PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVy b3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAt LXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0 aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0 aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdT PSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVm aW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVf WDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwg I2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1P REUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9H RVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JP T0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNF VEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NM T0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NF U1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9G RE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZw LT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNU X0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklY IHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVM SUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUg SEFWRV9BQ0xYX0dFVCAxCnwgI2RlZmluZSBIQVZFX1NUQVRBQ0wgMQp8ICNkZWZpbmUgVVNFX0FD TCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAg ICAgICAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg c3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2F0aW1l bnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2NTEw OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjUyMTogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0 X2F0aW0uc3RfX3RpbS50dl9uc2VjCmNvbmZpZ3VyZToyNjUyMTogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv aW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNv bmZ0ZXN0LmM6MjM0OjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0NjQnIGhhcyBubyBtZW1iZXIgbmFt ZWQgJ3N0X2F0aW0nCiBpZiAoYWNfYWdnci5zdF9hdGltLnN0X190aW0udHZfbnNlYykKICAgICAg ICAgICAgXgpjb25maWd1cmU6MjY1MjE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNk ZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJh aXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VU U05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJN X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9Y Uk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAj ZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBI QVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5l IEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NU UlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRU TyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUg MQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwg I2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VU U1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUg SEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1M SU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFC TEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRf U09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg MQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVT RVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIg X19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFT SF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VU UyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAn OicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+ cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0Vf U0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJF Q1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChf Y18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERF RkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50 IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJj cHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRG IHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9D SEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUg R0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cg LyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVU Q0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3Mg LS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdp dGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14 cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08 TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5l IFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDEx IDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVO ViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NL X1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZF X0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NB VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9Q RU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5f YmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0gg MQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJf TUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFW RV9BQ0xYX0dFVCAxCnwgI2RlZmluZSBIQVZFX1NUQVRBQ0wgMQp8ICNkZWZpbmUgVVNFX0FDTCAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAg ICAgICAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg c3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3Iuc3RfYXRpbS5zdF9fdGlt LnR2X25zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToy NjUyMTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjM0OjE5OiBlcnJvcjogJ3N0cnVjdCBz dGF0NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW0nCiBpZiAoc2l6ZW9mIGFjX2FnZ3Iu c3RfYXRpbS5zdF9fdGltLnR2X25zZWMpCiAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToy NjUyMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNz Igp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82 NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1F X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAj ZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVF Tk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9Y X0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2 IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2Rl ZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklN SW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf UE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVm aW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VS Uk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAj ZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4 IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVf UkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf R0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBI QVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRP TSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5E X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZF X0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUg TE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5l IEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NO UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2Rl ZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExf REVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJv Y2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUg RElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmlu ZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmlu ZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9L RU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0Ug Ii9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMg OyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2 L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg dHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZp bmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8 ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZ UklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4i CnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VS QVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BU SU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVk aXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0 aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdp dGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtp dC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdp dGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIn Igp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwg I2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01B TExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRP TEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZE QVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9Q VF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0 cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5l IEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmlu ZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFW RV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmlu ZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBI QVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQ RU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZF X0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVf UE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElN RU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwg I2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTFhfR0VUIDEKfCAjZGVm aW5lIEhBVkVfU1RBVEFDTCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgICAgICAgI2luY2x1ZGUg PHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQg YWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbS5zdF9fdGltLnR2X25zZWMpCnwg cmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjUyMTogcmVzdWx0 OiBubwpjb25maWd1cmU6MjY1NDM6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3RhdC5zdF9iaXJ0aHRp bWVzcGVjLnR2X25zZWMKY29uZmlndXJlOjI2NTQzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3Qu YzoyMzQ6MTI6IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3Rf YmlydGh0aW1lc3BlYycKIGlmIChhY19hZ2dyLnN0X2JpcnRodGltZXNwZWMudHZfbnNlYykKICAg ICAgICAgICAgXgpjb25maWd1cmU6MjY1NDM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8 ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9U RVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFH UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFW RV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gx MVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEK fCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAx CnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NN IDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NF TkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF UlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIg MQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2Rl ZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVf VFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZp bmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVm aW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9T WU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRE VEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lO RVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NP REVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9h cnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBD TEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hB UiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBE SVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04g aW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBz dHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJ TlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJ QV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZp bmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBV U0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwg I2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNk ZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQu My45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9 PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVy b3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAt LXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0 aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0 aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdT PSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVm aW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVf WDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwg I2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1P REUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9H RVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JP T0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNF VEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NM T0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NF U1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9G RE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZw LT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNU X0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklY IHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVM SUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUg SEFWRV9BQ0xYX0dFVCAxCnwgI2RlZmluZSBIQVZFX1NUQVRBQ0wgMQp8ICNkZWZpbmUgVVNFX0FD TCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAg ICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGlj IHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3Iuc3RfYmlydGh0aW1lc3BlYy50dl9u c2VjKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY1NDM6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4g ZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzNDoxOTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdDY0 JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9iaXJ0aHRpbWVzcGVjJwogaWYgKHNpemVvZiBhY19h Z2dyLnN0X2JpcnRodGltZXNwZWMudHZfbnNlYykKICAgICAgICAgICAgICAgICAgIF4KY29uZmln dXJlOjI2NTQzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5f VVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExf SCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4g MQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJ TUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0Ug MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBI QVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gx MVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEK fCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lz dGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tG IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJ TUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2Rl ZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RF VklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAw OyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg Ii9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwg I2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxz dGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3Ag LS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9z IC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10 b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+ IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lU IDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBH TlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9I IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9f R0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNk ZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAj ZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAj ZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVm aW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVm aW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5l IEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5f TkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBH RVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVURU5W IDAKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMWF9HRVQgMQp8 ICNkZWZpbmUgSEFWRV9TVEFUQUNMIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAgICAjaW5jbHVkZSA8c3lz L3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19h Z2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci5zdF9iaXJ0aHRpbWVzcGVjLnR2X25zZWMpCnwgcmV0 dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjU0MzogcmVzdWx0OiBu bwpjb25maWd1cmU6MjY1NTQ6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3RhdC5zdF9iaXJ0aHRpbWVu c2VjCmNvbmZpZ3VyZToyNjU1NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjM0OjEyOiBl cnJvcjogJ3N0cnVjdCBzdGF0NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2JpcnRodGltZW5z ZWMnCiBpZiAoYWNfYWdnci5zdF9iaXJ0aHRpbWVuc2VjKQogICAgICAgICAgICBeCmNvbmZpZ3Vy ZToyNjU1NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VT RV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1J VF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEK fCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFND UkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFW RV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFY VFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwg I2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3Rl cklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAx CnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAj ZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9I X0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEK fCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFO RDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2Rl ZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVm aW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhB VkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhB VkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lO QyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVm aW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmlu ZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JB TkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5X SU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBU IDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAj ZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBI QVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1F T0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZp bmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVm aW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBI QVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwg I2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5V TExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3Vi cHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZp bmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2Rl ZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2Rl ZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBC Uk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJ Q0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsg IWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIv ZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFt ZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNk ZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1Mg MQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBD T1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdf T1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9 PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3Rh dGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0t d2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAt LXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9v bGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAt LXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9s aWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAx CnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05V X01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NU UlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dF VE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVm aW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2Rl ZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2Rl ZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmlu ZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmlu ZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBI QVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05B TUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VU VElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAw CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTFhfR0VUIDEKfCAj ZGVmaW5lIEhBVkVfU1RBVEFDTCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgI2luY2x1ZGUgPHN5 cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNf YWdncjsKfCBpZiAoYWNfYWdnci5zdF9iaXJ0aHRpbWVuc2VjKQp8IHJldHVybiAwOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY1NTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVz dC5jOjIzNDoxOTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdDY0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdz dF9iaXJ0aHRpbWVuc2VjJwogaWYgKHNpemVvZiBhY19hZ2dyLnN0X2JpcnRodGltZW5zZWMpCiAg ICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjU1NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45 MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9G SUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW RV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5f SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNU IDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2Rl ZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNF U1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5l IEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFS Nl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEK fCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQ b2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcg MQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBI QVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAx CnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElS X05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVm aW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5l IEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9H RVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dF VERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5l IEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhB VkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8 ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VF S08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBU IDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZp bmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sg MQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBI QVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5l IEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZF X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP UktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFO R0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jl c3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAj ZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUg SEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmlu ZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVM TF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5l IElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChf Y18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVD VE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8 ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lU RVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9T UFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9O QU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJ R05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAw CnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAj ZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRl cm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4w LjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lz Y29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91 dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0 LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9 bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2Nh bGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAn Q1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAt TDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1Mg MQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZp bmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5E SUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9O X0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFW RV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUg SEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5l IEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAj ZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVM SUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUg R05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5f cHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhB VkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9Q VF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVm aW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwg I2RlZmluZSBIQVZFX0FDTFhfR0VUIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEFDTCAxCnwgI2RlZmlu ZSBVU0VfQUNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBl cy5oPgp8ICAgICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8 IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3Rf YmlydGh0aW1lbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjI2NTU0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjU2NTogY2hlY2tpbmcgZm9yIHN0cnVj dCBzdGF0LnN0X2JpcnRodGltLnR2X25zZWMKY29uZmlndXJlOjI2NTY1OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWlu JzoKY29uZnRlc3QuYzoyMzQ6MTI6IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFzIG5vIG1lbWJl ciBuYW1lZCAnc3RfYmlydGh0aW0nCiBpZiAoYWNfYWdnci5zdF9iaXJ0aHRpbS50dl9uc2VjKQog ICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjU2NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBI QVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5H IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0g MQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVm aW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVy CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hf U00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NU UkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElN IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVf Q0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBI QVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dF VERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVf SU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9f Q09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0 X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5l IENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9T T0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBD SEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1F IHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RF VklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09 IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9T RVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZp bmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElP TiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRG IHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQ UklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNf VklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2Rl ZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5l IFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIK fCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwg I2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRp cj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJi ZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5k IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13 aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3Bw YXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxB R1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNk ZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFW RV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEK fCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9f Qk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VO U0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVf Q0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5l IEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFD Q0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElC X0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0g ZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJ U1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVG SVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdO VUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmlu ZSBIQVZFX0FDTFhfR0VUIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEFDTCAxCnwgI2RlZmluZSBVU0Vf QUNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2JpcnRodGltLnR2 X25zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjU2 NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjM0OjE5OiBlcnJvcjogJ3N0cnVjdCBzdGF0 NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2JpcnRodGltJwogaWYgKHNpemVvZiBhY19hZ2dy LnN0X2JpcnRodGltLnR2X25zZWMpCiAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjU2 NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9C SVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lT X1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVm aW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVm aW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5V TUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kx OE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEK fCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmlu ZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5z dGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2Rl ZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5H X0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5l IEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5P IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2Rl ZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVm aW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBI QVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhB VkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVD VkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBF RVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VU TElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwg I2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZF X0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5l IEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZD TlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkg MQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZp bmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBI QVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9M T0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9D QUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhB VkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19W Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJ TlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01C U1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBB TVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmlu ZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVW SUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vz c2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElS RUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJ U19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJ U19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5f R0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9k ZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBj KyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0 YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5 bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUg REFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNk ZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklH SFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwg I2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJ T04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9O UyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9 PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14 LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhv dXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1z Y3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhv dXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8 ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2Rl ZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExP QyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQg MQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRB U1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9Q UkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhB VkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJU T1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBH RVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9D TE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBH TlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZF X0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5E SU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJ QlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9J TlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9G REFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2Rl ZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTFhfR0VUIDEKfCAjZGVmaW5l IEhBVkVfU1RBVEFDTCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dy Owp8IGlmIChzaXplb2YgYWNfYWdnci5zdF9iaXJ0aHRpbS50dl9uc2VjKQp8IHJldHVybiAwOwp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY1NjU6IHJlc3VsdDogbm8KY29uZmln dXJlOjI2NTgzOiBjaGVja2luZyBmb3Igd29ya2luZyBzdGRhbGlnbi5oCmNvbmZpZ3VyZToyNjYy NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjIz OToxODogZXJyb3I6IHNpemUgb2YgYXJyYXkgJ3Rlc3RfZG91YmxlJyBpcyBuZWdhdGl2ZQogICAg ICAgICAgICAgY2hhciB0ZXN0X2RvdWJsZVthbyAoZG91YmxlKSAlIF9BbGlnbm9mIChkb3VibGUp ID09IDAgPyAxIDogLTFdOwogICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjYyNDogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAj ZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZp bmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEK fCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5P REUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9G U0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVm aW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZF X1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlh dGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVf VElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAj ZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBI QVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhB VkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVm aW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAx CnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFW RV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZN QUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlT SUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVf UkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEK fCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNk ZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFW RV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NU UlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJ TUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1F X0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9S SyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVf VCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNB TkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZF X1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIv ZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEK fCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZ X1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJF Q1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllf U0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NV UlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNw Igp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwg I2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8 ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAo ZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9T RUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUg SEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNv cHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmlu ZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBv d2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1w cmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FM U1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xr aXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2Vy YmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwt YmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFr ZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2lu Y2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZp bmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBV U0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwg I2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNk ZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVgg cnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jl c3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lH U0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19V VElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9V UFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19H RVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJf Q0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VT UyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9Q RU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09V VFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZT VEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAx CnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJ TUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBI QVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTFhfR0VUIDEKfCAjZGVmaW5lIEhBVkVf U1RBVEFDTCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN0ZGFsaWduLmg+CnwgICAgICAgICAgICAgI2luY2x1ZGUgPHN0ZGRlZi5oPgp8 IAp8ICAgICAgICAgICAgIC8qIFRlc3QgdGhhdCBhbGlnbm9mIHlpZWxkcyBhIHJlc3VsdCBjb25z aXN0ZW50IHdpdGggb2Zmc2V0b2YuCnwgICAgICAgICAgICAgICAgVGhpcyBjYXRjaGVzIEdDQyBi dWcgNTIwMjMKfCAgICAgICAgICAgICAgICA8aHR0cDovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3No b3dfYnVnLmNnaT9pZD01MjAyMz4uICAqLwp8ICAgICAgICAgICAgICNpZmRlZiBfX2NwbHVzcGx1 cwp8ICAgICAgICAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyB0PiBzdHJ1Y3QgYWxpZ25vZl9oZWxw ZXIgeyBjaGFyIGE7IHQgYjsgfTsKfCAgICAgICAgICAgICAjIGRlZmluZSBhbyh0eXBlKSBvZmZz ZXRvZiAoYWxpZ25vZl9oZWxwZXI8dHlwZT4sIGIpCnwgICAgICAgICAgICAgI2Vsc2UKfCAgICAg ICAgICAgICAjIGRlZmluZSBhbyh0eXBlKSBvZmZzZXRvZiAoc3RydWN0IHsgY2hhciBhOyB0eXBl IGI7IH0sIGIpCnwgICAgICAgICAgICAgI2VuZGlmCnwgICAgICAgICAgICAgY2hhciB0ZXN0X2Rv dWJsZVthbyAoZG91YmxlKSAlIF9BbGlnbm9mIChkb3VibGUpID09IDAgPyAxIDogLTFdOwp8ICAg ICAgICAgICAgIGNoYXIgdGVzdF9sb25nW2FvIChsb25nIGludCkgJSBfQWxpZ25vZiAobG9uZyBp bnQpID09IDAgPyAxIDogLTFdOwp8ICAgICAgICAgICAgIGNoYXIgdGVzdF9hbGlnbm9mW2FsaWdu b2YgKGRvdWJsZSkgPT0gX0FsaWdub2YgKGRvdWJsZSkgPyAxIDogLTFdOwp8IAp8ICAgICAgICAg ICAgIC8qIFRlc3QgX0FsaWduYXMgb25seSBvbiBwbGF0Zm9ybXMgd2hlcmUgZ251bGliIGNhbiBo ZWxwLiAgKi8KfCAgICAgICAgICAgICAjaWYgICAgICAgICAgICAgICAgICgoZGVmaW5lZCBfX2Nw bHVzcGx1cyAmJiAyMDExMDMgPD0gX19jcGx1c3BsdXMpICAgICAgICAgICAgICAgICAgfHwgX19H TlVDX18gfHwgX19JQk1DX18gfHwgX19JQk1DUFBfXyB8fCBfX0lDQyAgICAgICAgICAgICAgICAg IHx8IDB4NTExMCA8PSBfX1NVTlBST19DIHx8IDEzMDAgPD0gX01TQ19WRVIpCnwgICAgICAgICAg ICAgICBzdHJ1Y3QgYWxpZ25hc190ZXN0IHsgY2hhciBjOyBjaGFyIGFsaWduYXMgKDgpIGFsaWdu YXNfODsgfTsKfCAgICAgICAgICAgICAgIGNoYXIgdGVzdF9hbGlnbmFzW29mZnNldG9mIChzdHJ1 Y3QgYWxpZ25hc190ZXN0LCBhbGlnbmFzXzgpID09IDgKfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgID8gMSA6IC0xXTsKfCAgICAgICAgICAgICAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu ICgpCnwgewp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY2MzE6IHJlc3Vs dDogbm8KY29uZmlndXJlOjI2NjUzOiBjaGVja2luZyBmb3IgdmFfY29weQpjb25maWd1cmU6MjY2 NzQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI2 Njc0OiAkPyA9IDAKY29uZmlndXJlOjI2NjgyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjY4Njg6 IGNoZWNraW5nIHdoZXRoZXIgTlVMTCBjYW4gYmUgdXNlZCBpbiBhcmJpdHJhcnkgZXhwcmVzc2lv bnMKY29uZmlndXJlOjI2ODg2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZToyNjg4NjogJD8gPSAwCmNvbmZpZ3VyZToyNjg5MzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjI3MTk5OiBjaGVja2luZyB3aGV0aGVyIHN0cnRvaW1heCB3b3Jrcwpjb25maWd1 cmU6MjcyNTM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAt bHBuZzE1ID4mNSAKY29uZmlndXJlOjI3MjUzOiAkPyA9IDAKY29uZmlndXJlOjI3MjUzOiAuL2Nv bmZ0ZXN0CmNvbmZpZ3VyZToyNzI1MzogJD8gPSAwCmNvbmZpZ3VyZToyNzI2NDogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjI3MzY5OiBjaGVja2luZyB3aGV0aGVyIHN5bWxpbmsgaGFuZGxlcyB0cmFp bGluZyBzbGFzaCBjb3JyZWN0bHkKY29uZmlndXJlOjI3NDAzOiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmln dG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToyNzQwMzog JD8gPSAwCmNvbmZpZ3VyZToyNzQwMzogLi9jb25mdGVzdApjb25maWd1cmU6Mjc0MDM6ICQ/ID0g NQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDUKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQu My45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkx Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9T RU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJ TEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF X1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1Qg MAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVm aW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VT VFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUg SEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBv aW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAx CnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhB VkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJf TkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VU REVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUg SEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFW RV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQg MQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lO QyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEK fCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhB VkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUg SEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVf VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5H SU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVz dHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNk ZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBI QVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5l IFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxM X05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUg SVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9j XykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNU T1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwg I2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRF UkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQ UklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05B TUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lH TkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNk ZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVy bS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAu MCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNj b25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0 LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQt c291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1u byAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2Fs bGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdD UFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAx CnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmlu ZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVm aW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJ QU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05f REVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZF X0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBI QVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUg SEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNk ZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJ Ql9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBH TlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9w dHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFW RV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BU X1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZp bmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAj ZGVmaW5lIEhBVkVfQUNMWF9HRVQgMQp8ICNkZWZpbmUgSEFWRV9TVEFUQUNMIDEKfCAjZGVmaW5l IFVTRV9BQ0wgMQp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJfU0NB TkYgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGludCBy ZXN1bHQgPSAwOwp8ICAgICAgICAgICAgICBpZiAoIXN5bWxpbmsgKCJhIiwgImNvbmZ0ZXN0Lmxp bmsvIikpCnwgICAgICAgICAgICAgICAgcmVzdWx0IHw9IDE7CnwgICAgICAgICAgICAgIGlmIChz eW1saW5rICgiY29uZnRlc3QuZiIsICJjb25mdGVzdC5sbmsyIikpCnwgICAgICAgICAgICAgICAg cmVzdWx0IHw9IDI7CnwgICAgICAgICAgICAgIGVsc2UgaWYgKCFzeW1saW5rICgiYSIsICJjb25m dGVzdC5sbmsyLyIpKQp8ICAgICAgICAgICAgICAgIHJlc3VsdCB8PSA0Owp8ICAgICAgICAgICAg ICByZXR1cm4gcmVzdWx0Owp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6Mjc0 MTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjI3NDUwOiBjaGVja2luZyB3aGV0aGVyIDxzeXMvc2Vs ZWN0Lmg+IGlzIHNlbGYtY29udGFpbmVkCmNvbmZpZ3VyZToyNzUyOTogcmVzdWx0OiBubwpjb25m aWd1cmU6Mjc3NDI6IGNoZWNraW5nIGZvciBubGlua190CmNvbmZpZ3VyZToyNzc0MjogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mjc3NDI6ICQ/ID0g MApjb25maWd1cmU6Mjc3NDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzNjoyMjogZXJy b3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNpemVvZiAoKG5s aW5rX3QpKSkKICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjI3NzQyOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T RUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN RSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9M T05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JF RU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUg SEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElN IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNh bGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZG IDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9H RVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhB VkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dF VEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VS QVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04g MQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5l IEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2Rl ZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNf SU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNk ZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmlu ZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9S IDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FD SEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEK fCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEK fCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9G VUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZ UyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYv bnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNk ZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQ ICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9S WV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAo X2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVm aW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2Rl ZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkp Owp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBEQVRBX1NFR19C SVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJp Z2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJw Yy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFU RURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3AgLS13aXRoLXgtdG9vbGtpdD1s dWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1rZXJiZXJv czUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJz IC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+IC0td2l0aG91dC1tYWtlaW5m byBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBI QVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9M VUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVm aW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmlu ZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxf CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVN UkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRf VCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1F UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19U IGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJ TUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9T RV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEK fCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJ UiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVU X05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQg MQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpP TkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIEhBVkVf U1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMWF9HRVQgMQp8ICNkZWZpbmUgSEFWRV9TVEFU QUNMIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2Rl ZmluZSBHTlVMSUJfU0NBTkYgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICNpbmNs dWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKG5s aW5rX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6Mjc3NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNzc3MjogY2hlY2tpbmcgd2hldGhlciBs b2NhbHRpbWVfciBpcyBkZWNsYXJlZApjb25maWd1cmU6Mjc3NzI6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI3NzcyOiAkPyA9IDAKY29uZmlndXJl OjI3NzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc3OTE6IGNoZWNraW5nIHdoZXRoZXIgbG9j YWx0aW1lX3IgaXMgY29tcGF0aWJsZSB3aXRoIGl0cyBQT1NJWCBzaWduYXR1cmUKY29uZmlndXJl OjI3ODE1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZToyNzgxNTogJD8gPSAwCmNvbmZpZ3VyZToyNzgyMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI3 ODY4OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHRpbWVyX3NldHRpbWUKY29uZmln dXJlOjI3ODk5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAg LWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToyNzg5OTogJD8gPSAwCmNvbmZpZ3VyZToyNzkxNjogcmVz dWx0OiBub25lIHJlcXVpcmVkCmNvbmZ0ZXN0LmM6MjMyOjIyOiBmYXRhbCBlcnJvcjogZmVhdHVy ZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPGZlYXR1cmVzLmg+CiAg ICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToy Nzk0NTogY2hlY2tpbmcgZm9yIHRpbWVyX3NldHRpbWUKY29uZmlndXJlOjI3OTQ1OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9s aWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgLWxwbmcxNSA+JjUgCmNvbmZp Z3VyZToyNzk0NTogJD8gPSAwCmNvbmZpZ3VyZToyNzk0NTogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjI4MDU5OiBjaGVja2luZyBmb3IgdW5zZXRlbnYKY29uZmlndXJlOjI4MDU5OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgLWxwbmcxNSA+JjUgCmNvbmZpZ3Vy ZToyODA1OTogJD8gPSAwCmNvbmZpZ3VyZToyODA1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4 MDcyOiBjaGVja2luZyBmb3IgdW5zZXRlbnYoKSByZXR1cm4gdHlwZQpjb25maWd1cmU6MjgwOTc6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4MDk3 OiAkPyA9IDAKY29uZmlndXJlOjI4MTA0OiByZXN1bHQ6IGludApjb25maWd1cmU6MjgxMTM6IGNo ZWNraW5nIHdoZXRoZXIgdW5zZXRlbnYgb2JleXMgUE9TSVgKY29uZmlndXJlOjI4MTU4OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgLWxwbmcxNSA+JjUgCmNv bmZpZ3VyZToyODE1ODogJD8gPSAwCmNvbmZpZ3VyZToyODE1ODogLi9jb25mdGVzdApjb25maWd1 cmU6MjgxNTg6ICQ/ID0gMApjb25maWd1cmU6MjgxNjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox MDogY2hlY2tpbmcgZm9yIGV1aWRhY2Nlc3MKY29uZmlndXJlOjEwOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1i YmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgLWxwbmcxNSA+JjUgCmxkOiAwNzExLTMxNyBF UlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLmV1aWRhY2Nlc3MKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUg LWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24u CmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTA6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklU X0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmlu ZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1C RVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThO IDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwg I2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUg SEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3Rh bnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19I IDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBI QVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwg I2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVS TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJ TkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9D T1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklU IDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2Rl ZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBI QVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05U TCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK fCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FM VElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZF X0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5U RiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNU QVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1Q RVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUg SEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklD RSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3Nl cyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVD VE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNf RElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNf QU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2 L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysr KQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMi KTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5h bWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERB VEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVm aW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hU ICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNk ZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9O ICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMg Ii0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxM T0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10 b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0 LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Ny b2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0 LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAj ZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZp bmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0Mg MQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEK fCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJF RklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3Qg X19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZF X1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9U IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VU R1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xP Q0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05V TElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9B Q0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElO R19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQ RVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5U RVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRB WV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZp bmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xYX0dFVCAxCnwgI2RlZmluZSBI QVZFX1NUQVRBQ0wgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBHTlVMSUJfRlNDQU5G IDEKfCAjZGVmaW5lIEdOVUxJQl9TQ0FORiAxCnwgI2RlZmluZSBteV9zdHJmdGltZSBuc3RyZnRp bWUKfCAjZGVmaW5lIEhBVkVfREVDTF9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX1RJTUVS X1NFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IC8qIERlZmluZSBldWlkYWNjZXNzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBj YXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZXVpZGFjY2Vzcy4KfCAgICBGb3IgZXhhbXBsZSwgSFAt VVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGV1 aWRhY2Nlc3MgaW5ub2N1b3VzX2V1aWRhY2Nlc3MKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRl ZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZXVpZGFjY2VzcyAoKTsgYmVsb3cuCnwgICAgIFBy ZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2lu Y2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJz LiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNl CnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZXVpZGFjY2Vzcwp8 IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy cm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw ZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3 b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8 ICNlbmRpZgp8IGNoYXIgZXVpZGFjY2VzcyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZp bmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5 cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwg ICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4g YWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9ldWlkYWNjZXNzIHx8IGRlZmluZWQgX19z dHViX19fZXVpZGFjY2Vzcwp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8 IHsKfCByZXR1cm4gZXVpZGFjY2VzcyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjEwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozODogY2hlY2tpbmcgbGliZ2VuLmggdXNhYmls aXR5CmNvbmZpZ3VyZTozODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt YyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6Mzg6ICQ/ID0gMApjb25maWd1cmU6Mzg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTozODogY2hlY2tpbmcgbGliZ2VuLmggcHJlc2VuY2UKY29uZmlndXJlOjM4OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtRSAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRl IGNvbmZ0ZXN0LmMKY29uZmlndXJlOjM4OiAkPyA9IDAKY29uZmlndXJlOjM4OiByZXN1bHQ6IHll cwpjb25maWd1cmU6Mzg6IGNoZWNraW5nIGZvciBsaWJnZW4uaApjb25maWd1cmU6Mzg6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo0OTogY2hlY2tpbmcgZm9yIGdldGdyb3Vwcwpjb25maWd1cmU6NDk6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4m NSAKY29uZmlndXJlOjQ5OiAkPyA9IDAKY29uZmlndXJlOjQ5OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTA0OiBjaGVja2luZyBmb3Igd29ya2luZyBnZXRncm91cHMKY29uZmlndXJlOjEzMTogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5nMTUgPiY1IApj b25maWd1cmU6MTMxOiAkPyA9IDAKY29uZmlndXJlOjEzMTogLi9jb25mdGVzdApjb25maWd1cmU6 MTMxOiAkPyA9IDAKY29uZmlndXJlOjE0MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NDogY2hl Y2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBlYWNjZXNzCmNvbmZpZ3VyZToxOTU6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKbGQ6 IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAuZWFjY2VzcwpsZDogMDcxMS0zNDUg VXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZv cm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZp Z3VyZToxOTU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJl bWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9V U0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElN SVRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhB VkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDEx WFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8 ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0 ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0g MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBI QVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwg I2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVf SF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0Yg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9S QU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VO V0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQ VCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwg I2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUg SEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5l IEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVm aW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2Rl ZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP UktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFW RV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNk ZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8 ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBO VUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1 YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVm aW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNk ZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNk ZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUg QlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVW SUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7 ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAi L2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25h bWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAj ZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktT IDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUg Q09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklH X09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4 PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0 YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAt LXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3Mg LS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRv b2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4g LS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv bGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQg MQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdO VV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0gg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9T VFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19H RVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUg cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2Rl ZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNk ZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5l IEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNk ZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZp bmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZp bmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUg SEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9O QU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdF VFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYg MAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xYX0dFVCAxCnwg I2RlZmluZSBIQVZFX1NUQVRBQ0wgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBHTlVM SUJfRlNDQU5GIDEKfCAjZGVmaW5lIEdOVUxJQl9TQ0FORiAxCnwgI2RlZmluZSBteV9zdHJmdGlt ZSBuc3RyZnRpbWUKfCAjZGVmaW5lIEhBVkVfREVDTF9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBI QVZFX1RJTUVSX1NFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBI QVZFX0xJQkdFTl9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JPVVBTIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBl eHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBlYWNjZXNzICgpOwp8IGludAp8IG1haW4gKCkKfCB7 CnwgcmV0dXJuIGVhY2Nlc3MgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTox OTU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8z ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxnZW4gIC1scHRocmVhZCAg LWxwbmcxNSA+JjUgCmNvbGxlY3QyOiBmYXRhbCBlcnJvcjogbGlicmFyeSBsaWJnZW4gbm90IGZv dW5kCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxOTU6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJl bWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFS V0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBf TEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNf U0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQg MQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5S RVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhB VkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNk ZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tf YXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEK fCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhB VkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNk ZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NU TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJS RU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NF TEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9D QUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwg I2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUg SEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwg I2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2Rl ZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9S SU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lY X09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEK fCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVf TFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8 ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNk ZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwg I2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZp bmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFN RSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAj ZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8 ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChf Y18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJ U19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9O QU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5l IFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZ X05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBU WV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2Rl ZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgy MDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpN UCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMp IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1h aXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAt LXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0t d2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdp dGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFi bGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFH Uz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERG TEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9X SU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEK fCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVM X0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg MQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRT X0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVf RU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVm aW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAj ZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwg I2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVB TSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZp bmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAj ZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRF UyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUg X19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lk CnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B U0sgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNM X0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xYX0dFVCAxCnwgI2RlZmluZSBIQVZFX1NUQVRBQ0wgMQp8 ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBHTlVMSUJfRlNDQU5GIDEKfCAjZGVmaW5lIEdO VUxJQl9TQ0FORiAxCnwgI2RlZmluZSBteV9zdHJmdGltZSBuc3RyZnRpbWUKfCAjZGVmaW5lIEhB VkVfREVDTF9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX1RJTUVSX1NFVFRJTUUgMQp8ICNk ZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0xJQkdFTl9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUR1JPVVBTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJp ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwg ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw cGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh ciBlYWNjZXNzICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGVhY2Nlc3MgKCk7Cnwg ICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMTI6IHJlc3VsdDogbm8KY29uZmlndXJl OjIyMzogY2hlY2tpbmcgZm9yIGVhY2Nlc3MKY29uZmlndXJlOjIyMzogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwt YmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5nMTUgPiY1IApsZDogMDcxMS0zMTcg RVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5lYWNjZXNzCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1i bG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpj b2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjIyMzog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEK fCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRf SU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5l IEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5l IEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJF Uk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4g MQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAj ZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBI QVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFu dGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0gg MQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhB VkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEK fCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElO RSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf Q0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NP UFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwg I2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVm aW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhB VkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRM IDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8 ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZF X1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NB TFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxU SU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RB VEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBF UlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBI QVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNF ICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2Vz IDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNU T1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19E SVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19B TllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VU X0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYv ZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKysp CnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIp Owp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFt ZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFU QV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZp bmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQg IkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2Rl ZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04g InBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAi LS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExP Q0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRv b2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQt a2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3Jv bGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQt bWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNk ZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmlu ZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAx CnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8 ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lO QyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVG SVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBf X3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVf U0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1Qg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRH Uk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9D S19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVM SUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FD Q0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9G RE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5H X09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBF UkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRF UiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZ X1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmlu ZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTFhfR0VUIDEKfCAjZGVmaW5lIEhB VkVfU1RBVEFDTCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAjZGVmaW5lIEdOVUxJQl9GU0NBTkYg MQp8ICNkZWZpbmUgR05VTElCX1NDQU5GIDEKfCAjZGVmaW5lIG15X3N0cmZ0aW1lIG5zdHJmdGlt ZQp8ICNkZWZpbmUgSEFWRV9ERUNMX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfVElNRVJf U0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfTElCR0VO X0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRHUk9VUFMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAvKiBEZWZpbmUgZWFjY2VzcyB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGlt aXRzLmg+IGRlY2xhcmVzIGVhY2Nlc3MuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGlt aXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBlYWNjZXNzIGlubm9j dW91c19lYWNjZXNzCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3Jv cyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qg d2l0aCBjaGFyIGVhY2Nlc3MgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8 YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4g ZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9f U1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0 Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGVhY2Nlc3MKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0ND IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8 ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGVhY2Nlc3Mg KCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hp Y2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUg ZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0 aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBf X3N0dWJfZWFjY2VzcyB8fCBkZWZpbmVkIF9fc3R1Yl9fX2VhY2Nlc3MKfCBjaG9rZSBtZQp8ICNl bmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGVhY2Nlc3MgKCk7CnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMjM6IHJlc3VsdDogbm8KY29uZmlndXJlOjg6IGNo ZWNraW5nIGZvciBncm91cF9tZW1iZXIKY29uZmlndXJlOjg6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0 b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9S OiBVbmRlZmluZWQgc3ltYm9sOiAuZ3JvdXBfbWVtYmVyCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1i bG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpj b2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjg6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lO T0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJP RlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEK fCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFW RV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRp YXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUg SEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEK fCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZF X1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwg I2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUg SEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBI QVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2Rl ZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9H RVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NF VElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9N IDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUg MQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZp bmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NG TUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZ U0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNk ZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxU SU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElN RV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRF X1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJT QU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFW RV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAi L2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAx CnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9S WV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElS RUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5Z X1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9D VVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2Rz cCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8 ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsK fCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUg KGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFf U0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5l IEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJD b3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZp bmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJw b3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0t cHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NB TFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29s a2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtl cmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xs LWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1h a2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9p bmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVm aW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUg VVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8 ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAj ZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklY IHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19y ZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJ R1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFY IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JP VVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tf R0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElC X0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NF U1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRP UEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19P VVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJG U1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIg MQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9U SU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUg SEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xYX0dFVCAxCnwgI2RlZmluZSBIQVZF X1NUQVRBQ0wgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBHTlVMSUJfRlNDQU5GIDEK fCAjZGVmaW5lIEdOVUxJQl9TQ0FORiAxCnwgI2RlZmluZSBteV9zdHJmdGltZSBuc3RyZnRpbWUK fCAjZGVmaW5lIEhBVkVfREVDTF9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX1RJTUVSX1NF VFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0xJQkdFTl9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JPVVBTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg LyogRGVmaW5lIGdyb3VwX21lbWJlciB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8 bGltaXRzLmg+IGRlY2xhcmVzIGdyb3VwX21lbWJlci4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVgg MTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGdyb3Vw X21lbWJlciBpbm5vY3VvdXNfZ3JvdXBfbWVtYmVyCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBk ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3 aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdyb3VwX21lbWJlciAoKTsgYmVsb3cuCnwgICAg IFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwg c2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGls ZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNl bHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZ3JvdXBfbWVt YmVyCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg YW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVy biB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90 eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4g IkMiCnwgI2VuZGlmCnwgY2hhciBncm91cF9tZW1iZXIgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJh cnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0 byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu YW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ3JvdXBfbWVtYmVyIHx8IGRl ZmluZWQgX19zdHViX19fZ3JvdXBfbWVtYmVyCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQK fCBtYWluICgpCnwgewp8IHJldHVybiBncm91cF9tZW1iZXIgKCk7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZTo4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4OiBjaGVja2luZyBmb3Ig Z2V0Z3JvdXBzCmNvbmZpZ3VyZTo4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjM6IGNoZWNraW5n IGZvciB3b3JraW5nIGdldGdyb3Vwcwpjb25maWd1cmU6MTAxOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTI5OiBjaGVja2luZyB3aGV0aGVyIGdldGdyb3VwcyBoYW5kbGVzIG5lZ2F0aXZlIHZhbHVl cwpjb25maWd1cmU6MTU2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRo cmVhZCAgLWxwbmcxNSA+JjUgCmNvbmZpZ3VyZToxNTY6ICQ/ID0gMApjb25maWd1cmU6MTU2OiAu L2NvbmZ0ZXN0CmNvbmZpZ3VyZToxNTY6ICQ/ID0gMApjb25maWd1cmU6MTY2OiByZXN1bHQ6IHll cwpjb25maWd1cmU6NjogY2hlY2tpbmcgd2hldGhlciBzdGF0IGhhbmRsZXMgdHJhaWxpbmcgc2xh c2hlcyBvbiBkaXJlY3Rvcmllcwpjb25maWd1cmU6Mjk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjI5OiAkPyA9IDAK Y29uZmlndXJlOjI5OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyOTogJD8gPSAwCmNvbmZpZ3VyZToz OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQxOiBjaGVja2luZyB3aGV0aGVyIHN0YXQgaGFuZGxl cyB0cmFpbGluZyBzbGFzaGVzIG9uIGZpbGVzCmNvbmZpZ3VyZTo4MTogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwt YmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgIC1scG5nMTUgPiY1IApjb25maWd1cmU6ODE6 ICQ/ID0gMApjb25maWd1cmU6ODE6IC4vY29uZnRlc3QKY29uZmlndXJlOjgxOiAkPyA9IDMKY29u ZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAzCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTEi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBI QVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5H IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0g MQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVm aW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVy CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hf U00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NU UkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElN IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVf Q0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBI QVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dF VERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVf SU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9f Q09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0 X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5l IENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9T T0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBD SEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1F IHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RF VklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09 IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9T RVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZp bmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElP TiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRG IHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQ UklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNf VklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2Rl ZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5l IFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIK fCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwg I2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRp cj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJi ZXJvcyAtLXdpdGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5k IC0td2l0aG91dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13 aXRoLXhwbSAtLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3Bw YXRoPTxMT0NBTExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gQ0ZMQUdTPS1PMyAnQ1BQRkxB R1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNk ZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFW RV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEK fCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9f Qk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VO U0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVf Q0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5l IEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFD Q0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElC X0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0g ZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJ U1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVG SVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdO VUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmlu ZSBIQVZFX0FDTFhfR0VUIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEFDTCAxCnwgI2RlZmluZSBVU0Vf QUNMIDEKfCAjZGVmaW5lIEdOVUxJQl9GU0NBTkYgMQp8ICNkZWZpbmUgR05VTElCX1NDQU5GIDEK fCAjZGVmaW5lIG15X3N0cmZ0aW1lIG5zdHJmdGltZQp8ICNkZWZpbmUgSEFWRV9ERUNMX0xPQ0FM VElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfVElNRVJfU0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX1VO U0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfTElCR0VOX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRHUk9V UFMgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUk9VUFMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGludCByZXN1 bHQgPSAwOwp8ICAgICAgIHN0cnVjdCBzdGF0IHN0Owp8ICAgICAgIGlmICghc3RhdCAoImNvbmZ0 ZXN0LnRtcC8iLCAmc3QpKQp8ICAgICAgICAgcmVzdWx0IHw9IDE7CnwgI2lmIEhBVkVfTFNUQVQK fCAgICAgICBpZiAoIXN0YXQgKCJjb25mdGVzdC5sbmsvIiwgJnN0KSkKfCAgICAgICAgIHJlc3Vs dCB8PSAyOwp8ICNlbmRpZgp8ICAgICAgIHJldHVybiByZXN1bHQ7CnwgCnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZTo5MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTE6IGNoZWNraW5n IHdoZXRoZXIgZ2V0ZHRhYmxlc2l6ZSB3b3Jrcwpjb25maWd1cmU6NDA6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2ws LWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKY29uZmlndXJlOjQw OiAkPyA9IDAKY29uZmlndXJlOjQwOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo0MDogJD8gPSAwCmNv bmZpZ3VyZTo1MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2OiBjaGVja2luZyBmb3IgX19zZWN1 cmVfZ2V0ZW52CmNvbmZpZ3VyZToyNjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3Qu YyAtbHB0aHJlYWQgIC1scG5nMTUgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBz eW1ib2w6IC5fX3NlY3VyZV9nZXRlbnYKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9y IC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBl cnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MjY6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJlbWFjcyAyNC4zLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJ T04gIjI0LjMuOTEiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAj ZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJP QURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdf RklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JF RU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAx CnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5l IEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZF X0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8 ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJh Y2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVH IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5l IEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8 ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBI QVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRI T1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9D VVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZF X1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VU TE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZp bmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9H RVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAx CnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwg I2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5l IEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklU IDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhB VkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJ TksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8 ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAx CnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNk ZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExf TkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEK fCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxs Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmlu ZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8n CnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NF UChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18p IChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVm aW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUg UFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5l IFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7Cnwg I2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMg MHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQg KEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9I RUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWli bS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQu My45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElS PiAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lk IC0td2l0aG91dC1zb3VuZCAtLXdpdGhvdXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAt LXdpdGgtZ2lmPW5vIC0td2l0aC14cG0gLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1l bmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENG TEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAn TERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVf WF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lE IDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUg UkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdP UkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhB VkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAj ZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hS IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEK fCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lk X3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAx CnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NU UkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNk ZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAK fCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9C WVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwg I2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZp bmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2 b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgSEFWRV9TWVNf QUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xYX0dFVCAxCnwgI2RlZmluZSBIQVZFX1NUQVRBQ0wg MQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBHTlVMSUJfRlNDQU5GIDEKfCAjZGVmaW5l IEdOVUxJQl9TQ0FORiAxCnwgI2RlZmluZSBteV9zdHJmdGltZSBuc3RyZnRpbWUKfCAjZGVmaW5l IEhBVkVfREVDTF9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX1RJTUVSX1NFVFRJTUUgMQp8 ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0xJQkdFTl9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JPVVBTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JPVVBTIDEKfCAjZGVmaW5l IFJFUExBQ0VfRlVOQ19TVEFUX0ZJTEUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBE ZWZpbmUgX19zZWN1cmVfZ2V0ZW52IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxs aW1pdHMuaD4gZGVjbGFyZXMgX19zZWN1cmVfZ2V0ZW52Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1V WCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgX19z ZWN1cmVfZ2V0ZW52IGlubm9jdW91c19fX3NlY3VyZV9nZXRlbnYKfCAKfCAvKiBTeXN0ZW0gaGVh ZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMs CnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX19zZWN1cmVfZ2V0ZW52ICgpOyBi ZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBp cyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFu ZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGlt aXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRl ZiBfX3NlY3VyZV9nZXRlbnYKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3Rv dHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBh cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVz cGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIF9fc2VjdXJlX2dldGVudiAoKTsKfCAv KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBp bXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlv bnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9f X3NlY3VyZV9nZXRlbnYgfHwgZGVmaW5lZCBfX3N0dWJfX19fX3NlY3VyZV9nZXRlbnYKfCBjaG9r ZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIF9fc2VjdXJlX2dl dGVudiAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZTozODogY2hlY2tpbmcgZm9yIGlzc2V0dWdpZApjb25maWd1cmU6Mzg6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHBuZzE1ID4mNSAKbGQ6 IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAuaXNzZXR1Z2lkCmxkOiAwNzExLTM0 NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGlu Zm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29u ZmlndXJlOjM4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTEiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkxIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5f VVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExf SCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4g MQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJ TUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0Ug MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBI QVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gx MVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEK fCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lz dGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tG IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJ TUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2Rl ZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RF VklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAw OyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg Ii9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwg I2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxz dGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWtlcmJlcm9zIC0td2l0aG91dC1wb3Ag LS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLXdpdGhvdXQtc291bmQgLS13aXRob3V0LWtlcmJlcm9z IC0td2l0aG91dC1rZXJiZXJvczUgLS13aXRoLWdpZj1ubyAtLXdpdGgteHBtIC0td2l0aG91dC10 b29sa2l0LXNjcm9sbC1iYXJzIC0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+ IC0td2l0aG91dC1tYWtlaW5mbyBDRkxBR1M9LU8zICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lU IDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBH TlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9I IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9f R0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNk ZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAj ZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAj ZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVm aW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVm aW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5l IEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5f TkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBH RVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVURU5W IDAKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMWF9HRVQgMQp8 ICNkZWZpbmUgSEFWRV9TVEFUQUNMIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgR05V TElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJfU0NBTkYgMQp8ICNkZWZpbmUgbXlfc3RyZnRp bWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBIQVZFX0RFQ0xfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUg SEFWRV9USU1FUl9TRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUg SEFWRV9MSUJHRU5fSCAxCnwgI2RlZmluZSBIQVZFX0dFVEdST1VQUyAxCnwgI2RlZmluZSBIQVZF X0dFVEdST1VQUyAxCnwgI2RlZmluZSBSRVBMQUNFX0ZVTkNfU1RBVF9GSUxFIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGlzc2V0dWdpZCB0byBhbiBpbm5vY3VvdXMgdmFy aWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGlzc2V0dWdpZC4KfCAgICBGb3IgZXhh bXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAj ZGVmaW5lIGlzc2V0dWdpZCBpbm5vY3VvdXNfaXNzZXR1Z2lkCnwgCnwgLyogU3lzdGVtIGhlYWRl ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8 ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGlzc2V0dWdpZCAoKTsgYmVsb3cuCnwg ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5l ZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t cGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8 ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgaXNzZXR1 Z2lkCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg YW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVy biB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90 eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4g IkMiCnwgI2VuZGlmCnwgY2hhciBpc3NldHVnaWQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l ZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz IGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfaXNzZXR1Z2lkIHx8IGRlZmluZWQg X19zdHViX19faXNzZXR1Z2lkCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgp Cnwgewp8IHJldHVybiBpc3NldHVnaWQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZTozODogcmVzdWx0OiBubwpjb25maWd1cmU6Mjk4NDY6IGNoZWNraW5nIHRoYXQgZ2VuZXJh dGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZQpjb25maWd1cmU6Mjk4NTI6IHJlc3Vs dDogZG9uZQpjb25maWd1cmU6MzAwMTY6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwoKIyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgZW1hY3Mg Y29uZmlnLnN0YXR1cyAyNC4zLjkxLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29u ZiAyLjY5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9 IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJR19DT01N QU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIAoKb24gYXgzMDAwMQoKY29uZmlnLnN0YXR1czox OTY2OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOjE5NjY6IGNyZWF0aW5nIGxpYi9N YWtlZmlsZQpjb25maWcuc3RhdHVzOjE5NjY6IGNyZWF0aW5nIGxpYi1zcmMvTWFrZWZpbGUKY29u ZmlnLnN0YXR1czoxOTY2OiBjcmVhdGluZyBvbGRYTWVudS9NYWtlZmlsZQpjb25maWcuc3RhdHVz OjE5NjY6IGNyZWF0aW5nIGRvYy9lbWFjcy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE5NjY6IGNy ZWF0aW5nIGRvYy9taXNjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTk2NjogY3JlYXRpbmcgZG9j L2xpc3BpbnRyby9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE5NjY6IGNyZWF0aW5nIGRvYy9saXNw cmVmL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTk2NjogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNv bmZpZy5zdGF0dXM6MTk2NjogY3JlYXRpbmcgbHdsaWIvTWFrZWZpbGUKY29uZmlnLnN0YXR1czox OTY2OiBjcmVhdGluZyBsaXNwL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTk2NjogY3JlYXRpbmcg bGVpbS9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE5NjY6IGNyZWF0aW5nIG5leHRzdGVwL01ha2Vm aWxlCmNvbmZpZy5zdGF0dXM6MTk2NjogY3JlYXRpbmcgbnQvTWFrZWZpbGUKY29uZmlnLnN0YXR1 czoxOTY2OiBjcmVhdGluZyBhZG1pbi91bmlkYXRhL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTk2 NjogY3JlYXRpbmcgYWRtaW4vZ3JhbW1hcnMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxOTY2OiBj cmVhdGluZyBzcmMvY29uZmlnLmgKY29uZmlnLnN0YXR1czoyMjAwOiBleGVjdXRpbmcgZGVwZmls ZXMgY29tbWFuZHMKY29uZmlnLnN0YXR1czoyMjAwOiBleGVjdXRpbmcgc3JjL2VwYXRocy5oIGNv bW1hbmRzCmNvbmZpZy5zdGF0dXM6MjIwMDogZXhlY3V0aW5nIHNyYy8uZ2RiaW5pdCBjb21tYW5k cwoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBDYWNoZSB2YXJpYWJsZXMuICMjCiMjIC0tLS0t LS0tLS0tLS0tLS0gIyMKCmFjX2N2X2J1aWxkPXBvd2VycGMtaWJtLWFpeDYuMS4wLjAKYWNfY3Zf Y19iaWdlbmRpYW49eWVzCmFjX2N2X2NfY29tcGlsZXJfZ251PXllcwphY19jdl9jX3Jlc3RyaWN0 PV9fcmVzdHJpY3QKYWNfY3ZfZW52X0NDX3NldD1zZXQKYWNfY3ZfZW52X0NDX3ZhbHVlPTxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjCmFjX2N2X2Vudl9DRkxBR1Nfc2V0PXNldAphY19jdl9lbnZf Q0ZMQUdTX3ZhbHVlPS1PMwphY19jdl9lbnZfQ1BQRkxBR1Nfc2V0PXNldAphY19jdl9lbnZfQ1BQ RkxBR1NfdmFsdWU9JyAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJwphY19jdl9l bnZfQ1BQX3NldD0nJwphY19jdl9lbnZfQ1BQX3ZhbHVlPScnCmFjX2N2X2Vudl9MREZMQUdTX3Nl dD1zZXQKYWNfY3ZfZW52X0xERkxBR1NfdmFsdWU9JyAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9saWInCmFjX2N2X2Vudl9MSUJTX3NldD1zZXQKYWNfY3ZfZW52X0xJQlNfdmFsdWU9JyAtbHBu ZzE1JwphY19jdl9lbnZfWE1LTUZfc2V0PScnCmFjX2N2X2Vudl9YTUtNRl92YWx1ZT0nJwphY19j dl9lbnZfYnVpbGRfYWxpYXNfc2V0PScnCmFjX2N2X2Vudl9idWlsZF9hbGlhc192YWx1ZT0nJwph Y19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X2hvc3RfYWxpYXNfdmFsdWU9JycK YWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc192YWx1 ZT0nJwphY19jdl9mdW5jX1hTY3JlZW5OdW1iZXJPZlNjcmVlbj15ZXMKYWNfY3ZfZnVuY19YU2Ny ZWVuUmVzb3VyY2VTdHJpbmc9eWVzCmFjX2N2X2Z1bmNfWHJtU2V0RGF0YWJhc2U9eWVzCmFjX2N2 X2Z1bmNfX19leGVjdXRhYmxlX3N0YXJ0PW5vCmFjX2N2X2Z1bmNfX19zZWN1cmVfZ2V0ZW52PW5v CmFjX2N2X2Z1bmNfYWNjZXB0ND1ubwphY19jdl9mdW5jX2FjY2Vzcz15ZXMKYWNfY3ZfZnVuY19h Y2x4X2dldD15ZXMKYWNfY3ZfZnVuY19hbGxvY2Ffd29ya3M9eWVzCmFjX2N2X2Z1bmNfY2ZtYWtl cmF3PXllcwphY19jdl9mdW5jX2Nmc2V0c3BlZWQ9eWVzCmFjX2N2X2Z1bmNfY2xvY2tfZ2V0dGlt ZT15ZXMKYWNfY3ZfZnVuY19jbG9ja19zZXR0aW1lPXllcwphY19jdl9mdW5jX2NvcHlzaWduPXll cwphY19jdl9mdW5jX2VhY2Nlc3M9bm8KYWNfY3ZfZnVuY19lbmRncmVudD15ZXMKYWNfY3ZfZnVu Y19lbmRwd2VudD15ZXMKYWNfY3ZfZnVuY19ldWlkYWNjZXNzPW5vCmFjX2N2X2Z1bmNfZmFjY2Vz c2F0PW5vCmFjX2N2X2Z1bmNfZmFjbD1ubwphY19jdl9mdW5jX2ZjaG1vZD15ZXMKYWNfY3ZfZnVu Y19mY250bD15ZXMKYWNfY3ZfZnVuY19mZG9wZW5kaXI9bm8KYWNfY3ZfZnVuY19mb3JrPXllcwph Y19jdl9mdW5jX2Zvcmtfd29ya3M9eWVzCmFjX2N2X2Z1bmNfZnJlZWlmYWRkcnM9bm8KYWNfY3Zf ZnVuY19mc3RhdGF0PW5vCmFjX2N2X2Z1bmNfZnN5bmM9eWVzCmFjX2N2X2Z1bmNfZnV0aW1lbnM9 bm8KYWNfY3ZfZnVuY19mdXRpbWVzPW5vCmFjX2N2X2Z1bmNfZnV0aW1lc2F0PW5vCmFjX2N2X2Z1 bmNfZ2FpX3N0cmVycm9yPXllcwphY19jdl9mdW5jX2dldF9jdXJyZW50X2Rpcl9uYW1lPXllcwph Y19jdl9mdW5jX2dldGFjbD1ubwphY19jdl9mdW5jX2dldGFkZHJpbmZvPXllcwphY19jdl9mdW5j X2dldGRlbGltPXllcwphY19jdl9mdW5jX2dldGR0YWJsZXNpemU9eWVzCmFjX2N2X2Z1bmNfZ2V0 Z3JlbnQ9eWVzCmFjX2N2X2Z1bmNfZ2V0Z3JvdXBzPXllcwphY19jdl9mdW5jX2dldGdyb3Vwc193 b3Jrcz15ZXMKYWNfY3ZfZnVuY19nZXRob3N0bmFtZT15ZXMKYWNfY3ZfZnVuY19nZXRpZmFkZHJz PW5vCmFjX2N2X2Z1bmNfZ2V0bGluZT15ZXMKYWNfY3ZfZnVuY19nZXRsb2FkYXZnPW5vCmFjX2N2 X2Z1bmNfZ2V0cGFnZXNpemU9eWVzCmFjX2N2X2Z1bmNfZ2V0cGVlcm5hbWU9eWVzCmFjX2N2X2Z1 bmNfZ2V0cHQ9bm8KYWNfY3ZfZnVuY19nZXRwd2VudD15ZXMKYWNfY3ZfZnVuY19nZXRybGltaXQ9 eWVzCmFjX2N2X2Z1bmNfZ2V0cnVzYWdlPXllcwphY19jdl9mdW5jX2dldHNvY2tuYW1lPXllcwph Y19jdl9mdW5jX2dldHRpbWVvZmRheT15ZXMKYWNfY3ZfZnVuY19ncmFudHB0PXllcwphY19jdl9m dW5jX2dyb3VwX21lbWJlcj1ubwphY19jdl9mdW5jX2lzc2V0dWdpZD1ubwphY19jdl9mdW5jX2xv Y2FsdGltZV9yPXllcwphY19jdl9mdW5jX2xvZzI9eWVzCmFjX2N2X2Z1bmNfbHJhbmQ0OD15ZXMK YWNfY3ZfZnVuY19sc3RhdD15ZXMKYWNfY3ZfZnVuY19sdXRpbWVzPW5vCmFjX2N2X2Z1bmNfbWVt cmNocj1ubwphY19jdl9mdW5jX21rb3N0ZW1wPW5vCmFjX2N2X2Z1bmNfbW1hcF9maXhlZF9tYXBw ZWQ9eWVzCmFjX2N2X2Z1bmNfbmFub3RpbWU9bm8KYWNfY3ZfZnVuY19waXBlMj1ubwphY19jdl9m dW5jX3Bvc2l4X29wZW5wdD15ZXMKYWNfY3ZfZnVuY19wc2VsZWN0PXllcwphY19jdl9mdW5jX3B0 aHJlYWRfc2lnbWFzaz15ZXMKYWNfY3ZfZnVuY19yYW5kb209eWVzCmFjX2N2X2Z1bmNfcmVhZGxp bms9eWVzCmFjX2N2X2Z1bmNfcmVhZGxpbmthdD1ubwphY19jdl9mdW5jX3JlY3Zmcm9tPXllcwph Y19jdl9mdW5jX3JpbnQ9eWVzCmFjX2N2X2Z1bmNfc2VjdXJlX2dldGVudj1ubwphY19jdl9mdW5j X3NlbGVjdD15ZXMKYWNfY3ZfZnVuY19zZW5kdG89eWVzCmFjX2N2X2Z1bmNfc2V0aXRpbWVyPXll cwphY19jdl9mdW5jX3NldGxvY2FsZT15ZXMKYWNfY3ZfZnVuY19zZXRybGltaXQ9eWVzCmFjX2N2 X2Z1bmNfc2h1dGRvd249eWVzCmFjX2N2X2Z1bmNfc2lnMnN0cj1ubwphY19jdl9mdW5jX3NucHJp bnRmPXllcwphY19jdl9mdW5jX3NvY2tldD15ZXMKYWNfY3ZfZnVuY19zdGF0YWNsPXllcwphY19j dl9mdW5jX3N0cnNpZ25hbD15ZXMKYWNfY3ZfZnVuY19zdHJ0b2ltYXg9eWVzCmFjX2N2X2Z1bmNf c3RydG91bWF4PXllcwphY19jdl9mdW5jX3N5bWxpbms9eWVzCmFjX2N2X2Z1bmNfc3luYz15ZXMK YWNfY3ZfZnVuY190aW1lcl9zZXR0aW1lPXllcwphY19jdl9mdW5jX3RvdWNobG9jaz1ubwphY19j dl9mdW5jX3R6c2V0PXllcwphY19jdl9mdW5jX3Vuc2V0ZW52PXllcwphY19jdl9mdW5jX3V0aW1l bnNhdD1ubwphY19jdl9mdW5jX3Zmb3JrPXllcwphY19jdl9mdW5jX3Zmb3JrX3dvcmtzPXllcwph Y19jdl9oYXZlX2RlY2xfX19zeXNfc2lnbGlzdD1ubwphY19jdl9oYXZlX2RlY2xfX3B1dGVudj1u bwphY19jdl9oYXZlX2RlY2xfYWxhcm09eWVzCmFjX2N2X2hhdmVfZGVjbF9mZGF0YXN5bmM9eWVz CmFjX2N2X2hhdmVfZGVjbF9mZG9wZW5kaXI9bm8KYWNfY3ZfaGF2ZV9kZWNsX2dldGVudj15ZXMK YWNfY3ZfaGF2ZV9kZWNsX2dldGxvYWRhdmc9bm8KYWNfY3ZfaGF2ZV9kZWNsX2xvY2FsdGltZV9y PXllcwphY19jdl9oYXZlX2RlY2xfbWVtcmNocj1ubwphY19jdl9oYXZlX2RlY2xfcG5nX2xvbmdq bXA9eWVzCmFjX2N2X2hhdmVfZGVjbF9zdHJtb2RlPW5vCmFjX2N2X2hhdmVfZGVjbF9zdHJ0b2lt YXg9eWVzCmFjX2N2X2hhdmVfZGVjbF9zdHJ0b3VtYXg9eWVzCmFjX2N2X2hhdmVfZGVjbF9zeXNf c2lnbGlzdD1ubwphY19jdl9oYXZlX2RlY2xfdHpuYW1lPXllcwphY19jdl9oYXZlX2RlY2xfdW5z ZXRlbnY9eWVzCmFjX2N2X2hhdmVfeD1oYXZlX3g9J3llcwlhY194X2luY2x1ZGVzPSdcJycnXCcn CWFjX3hfbGlicmFyaWVzPSdcJycnXCcKYWNfY3ZfaGVhZGVyX1gxMV9TTV9TTWxpYl9oPXllcwph Y19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubwphY19jdl9oZWFkZXJfWDEx X2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8KYWNfY3ZfaGVhZGVyX1gxMV94cG1faD15ZXMKYWNfY3Zf aGVhZGVyX2FjbHZfaD1ubwphY19jdl9oZWFkZXJfYXJwYV9pbmV0X2g9eWVzCmFjX2N2X2hlYWRl cl9ieXRlc3dhcF9oPW5vCmFjX2N2X2hlYWRlcl9jb2ZmX2g9bm8KYWNfY3ZfaGVhZGVyX2RpcmVu dF9oPXllcwphY19jdl9oZWFkZXJfZXhlY2luZm9faD1ubwphY19jdl9oZWFkZXJfZ2V0b3B0X2g9 bm8KYWNfY3ZfaGVhZGVyX2dwbV9oPW5vCmFjX2N2X2hlYWRlcl9pZmFkZHJzX2g9bm8KYWNfY3Zf aGVhZGVyX2ludHR5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl9qZXJyb3JfaD15ZXMKYWNfY3ZfaGVh ZGVyX2xpYmdlbl9oPXllcwphY19jdl9oZWFkZXJfbWFpbGxvY2tfaD1ubwphY19jdl9oZWFkZXJf bWFsbG9jX21hbGxvY19oPW5vCmFjX2N2X2hlYWRlcl9tZW1vcnlfaD15ZXMKYWNfY3ZfaGVhZGVy X21pbml4X2NvbmZpZ19oPW5vCmFjX2N2X2hlYWRlcl9uZXRfaWZfZGxfaD15ZXMKYWNfY3ZfaGVh ZGVyX25ldF9pZl9oPXllcwphY19jdl9oZWFkZXJfbmV0aW5ldF9pbl9oPXllcwphY19jdl9oZWFk ZXJfbmxpc3RfaD15ZXMKYWNfY3ZfaGVhZGVyX3BuZ19oPXllcwphY19jdl9oZWFkZXJfcHRocmVh ZF9oPXllcwphY19jdl9oZWFkZXJfcHR5X2g9bm8KYWNfY3ZfaGVhZGVyX3B3ZF9oPXllcwphY19j dl9oZWFkZXJfc3RhdF9icm9rZW49bm8KYWNfY3ZfaGVhZGVyX3N0ZGJvb2xfaD15ZXMKYWNfY3Zf aGVhZGVyX3N0ZGM9eWVzCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0 ZGlvX2V4dF9oPW5vCmFjX2N2X2hlYWRlcl9zdGRsaWJfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0cmlu Z19oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nc19oPXllcwphY19jdl9oZWFkZXJfc3lzX2FjbF9o PXllcwphY19jdl9oZWFkZXJfc3lzX2lub3RpZnlfaD1ubwphY19jdl9oZWFkZXJfc3lzX2xvYWRh dmdfaD1ubwphY19jdl9oZWFkZXJfc3lzX3BhcmFtX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfcmVz b3VyY2VfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zZWxlY3RfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5 c19zb2NrZXRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzCmFjX2N2X2hlYWRlcl9z eXNfc3lzdGVtaW5mb19oPW5vCmFjX2N2X2hlYWRlcl9zeXNfdGltZV9oPXllcwphY19jdl9oZWFk ZXJfc3lzX3R5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdW5faD15ZXMKYWNfY3ZfaGVhZGVy X3N5c191dHNuYW1lX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdmxpbWl0X2g9eWVzCmFjX2N2X2hl YWRlcl9zeXNfd2FpdF9oPXllcwphY19jdl9oZWFkZXJfdGVybV9oPXllcwphY19jdl9oZWFkZXJf dGlmZmlvX2g9eWVzCmFjX2N2X2hlYWRlcl90aW1lPXllcwphY19jdl9oZWFkZXJfdW5pc3RkX2g9 eWVzCmFjX2N2X2hlYWRlcl91dGlsX2g9bm8KYWNfY3ZfaGVhZGVyX3V0aW1lX2g9eWVzCmFjX2N2 X2hlYWRlcl91dG1wX2g9eWVzCmFjX2N2X2hlYWRlcl92YWxncmluZF92YWxncmluZF9oPW5vCmFj X2N2X2hlYWRlcl92Zm9ya19oPW5vCmFjX2N2X2hlYWRlcl93Y2hhcl9oPXllcwphY19jdl9ob3N0 PXBvd2VycGMtaWJtLWFpeDYuMS4wLjAKYWNfY3ZfbGliX1NNX1NtY09wZW5Db25uZWN0aW9uPXll cwphY19jdl9saWJfWGJzZF9tYWluPW5vCmFjX2N2X2xpYl9YZXh0X1hTaGFwZVF1ZXJ5RXh0ZW5z aW9uPXllcwphY19jdl9saWJfWG11X1htdUNvbnZlcnRTdGFuZGFyZFNlbGVjdGlvbj15ZXMKYWNf Y3ZfbGliX1hwbV9YcG1SZWFkRmlsZVRvUGl4bWFwPXllcwphY19jdl9saWJfZG5ldF9kbmV0X250 b2E9bm8KYWNfY3ZfbGliX2VsZl9lbGZfYmVnaW49bm8KYWNfY3ZfbGliX2dldGxvYWRhdmdfZ2V0 bG9hZGF2Zz1ubwphY19jdl9saWJfanBlZ19qcGVnX2Rlc3Ryb3lfY29tcHJlc3M9eWVzCmFjX2N2 X2xpYl9rc3RhdF9rc3RhdF9vcGVuPW5vCmFjX2N2X2xpYl9rdm1fa3ZtX29wZW49bm8KYWNfY3Zf bGliX2xvY2tmaWxlX21haWxsb2NrPW5vCmFjX2N2X2xpYl9tX3NxcnQ9eWVzCmFjX2N2X2xpYl9t YWlsX21haWxsb2NrPW5vCmFjX2N2X2xpYl9wZXJmc3RhdF9wZXJmc3RhdF9jcHVfdG90YWw9eWVz CmFjX2N2X2xpYl9wbmdfcG5nX2dldF9jaGFubmVscz15ZXMKYWNfY3ZfbGliX3B0aHJlYWRfcHRo cmVhZF9hdGZvcms9eWVzCmFjX2N2X2xpYl9wdGhyZWFkc19jbWFfb3Blbj1ubwphY19jdl9saWJf c2VsaW51eF9sZ2V0ZmlsZWNvbj1ubwphY19jdl9saWJfdGlmZl9USUZGR2V0VmVyc2lvbj15ZXMK YWNfY3ZfbGliX3V0aWxfZ2V0bG9hZGF2Zz1ubwphY19jdl9tZW1iZXJfc3RydWN0X2lmcmVxX2lm cl9hZGRyPXllcwphY19jdl9tZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9hZGRyX3NhX2xlbj15ZXMK YWNfY3ZfbWVtYmVyX3N0cnVjdF9pZnJlcV9pZnJfYnJvYWRhZGRyPXllcwphY19jdl9tZW1iZXJf c3RydWN0X2lmcmVxX2lmcl9mbGFncz15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9pZnJlcV9pZnJf aHdhZGRyPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX25ldG1hc2s9bm8KYWNfY3Zf bWVtYmVyX3N0cnVjdF9ubGlzdF9uX3VuX25fbmFtZT1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0 YXRfc3RfYXRpbV9zdF9fdGltX3R2X25zZWM9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0 X2F0aW1fdHZfbnNlYz1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfYXRpbWVuc2VjPW5v CmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9hdGltZXNwZWNfdHZfbnNlYz1ubwphY19jdl9t ZW1iZXJfc3RydWN0X3N0YXRfc3RfYmlydGh0aW1fdHZfbnNlYz1ubwphY19jdl9tZW1iZXJfc3Ry dWN0X3N0YXRfc3RfYmlydGh0aW1lbnNlYz1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3Rf YmlydGh0aW1lc3BlY190dl9uc2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfdG1fdG1fZ210b2Zm PW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfdG1fdG1fem9uZT1ubwphY19jdl9vYmpleHQ9bwphY19j dl9wYXRoX0VHUkVQPScvdXNyL2xvY2FsL2Jpbi9ncmVwIC1FJwphY19jdl9wYXRoX0dSRVA9L3Vz ci9sb2NhbC9iaW4vZ3JlcAphY19jdl9wYXRoX0daSVBfUFJPRz0vdXNyL2xvY2FsL2Jpbi9nemlw CmFjX2N2X3BhdGhfSU5TVEFMTF9JTkZPPS9vcHQvZnJlZXdhcmUvYmluL2luc3RhbGwtaW5mbwph Y19jdl9wYXRoX01BS0VJTkZPPW5vCmFjX2N2X3BhdGhfUEtHX0NPTkZJRz0vYmluL3BrZy1jb25m aWcKYWNfY3ZfcGF0aF9pbnN0YWxsPScvb3B0L2ZyZWV3YXJlL2Jpbi9pbnN0YWxsIC1jJwphY19j dl9wYXRoX21rZGlyPS9vcHQvZnJlZXdhcmUvYmluL21rZGlyCmFjX2N2X3Byb2dfQVdLPW5hd2sK YWNfY3ZfcHJvZ19DUFA9JzxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1FJwphY19jdl9wcm9n X2FjX2N0X0FSPWFyCmFjX2N2X3Byb2dfYWNfY3RfUkFOTElCPXJhbmxpYgphY19jdl9wcm9nX2Nj X2M4OT0nJwphY19jdl9wcm9nX2NjX2M5OT0tc3RkPWdudTk5CmFjX2N2X3Byb2dfY2NfZz15ZXMK YWNfY3ZfcHJvZ19jY19zdGRjPS1zdGQ9Z251OTkKYWNfY3ZfcHJvZ19saWJsb2NrZmlsZT1ubwph Y19jdl9wcm9nX21ha2VfX2Jpbl9nbWFrZV9zZXQ9eWVzCmFjX2N2X3NhZmVfdG9fZGVmaW5lX19f ZXh0ZW5zaW9uc19fPXllcwphY19jdl9zZWFyY2hfYWNsX2dldF9maWxlPW5vCmFjX2N2X3NlYXJj aF9jbG9ja19nZXR0aW1lPSdub25lIHJlcXVpcmVkJwphY19jdl9zZWFyY2hfZWFjY2Vzcz1ubwph Y19jdl9zZWFyY2hfZmRhdGFzeW5jPSdub25lIHJlcXVpcmVkJwphY19jdl9zZWFyY2hfaW5mbGF0 ZUVuZD0tbHoKYWNfY3Zfc2VhcmNoX3RpbWVyX3NldHRpbWU9J25vbmUgcmVxdWlyZWQnCmFjX2N2 X3Nob3VsZF9kZWZpbmVfX3hvcGVuX3NvdXJjZT1ubwphY19jdl9zdHJ1Y3Rfc3RfZG1fbW9kZT1u bwphY19jdl9zdHJ1Y3RfdG09dGltZS5oCmFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzPXVua25v d24KYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzPTEKYWNfY3Zfc3lzX2xhcmdlZmlsZV9DQz1ubwphY19j dl9zeXNfbGFyZ2VmaWxlX3NvdXJjZT1ubwphY19jdl9zeXNfbG9uZ19maWxlX25hbWVzPXllcwph Y19jdl9zeXNfcGVuZGluZ19vdXRwdXRfbl9ieXRlcz0nZnAtPl9wdHIgLSBmcC0+X2Jhc2UnCmFj X2N2X3R5cGVfX0Jvb2w9eWVzCmFjX2N2X3R5cGVfZ2V0Z3JvdXBzPWdpZF90CmFjX2N2X3R5cGVf bG9uZ19sb25nX2ludD15ZXMKYWNfY3ZfdHlwZV9tYnN0YXRlX3Q9eWVzCmFjX2N2X3R5cGVfbW9k ZV90PXllcwphY19jdl90eXBlX25saW5rX3Q9eWVzCmFjX2N2X3R5cGVfcGlkX3Q9eWVzCmFjX2N2 X3R5cGVfc2lnaGFuZGxlcl90PW5vCmFjX2N2X3R5cGVfc2lnc2V0X3Q9eWVzCmFjX2N2X3R5cGVf c29ja2xlbl90PXllcwphY19jdl90eXBlX3Vuc2lnbmVkX2xvbmdfbG9uZ19pbnQ9eWVzCmFjX2N2 X3R5cGVfdm9sYXRpbGVfc2lnX2F0b21pY190PXllcwphY19jdl92YXJfdHpuYW1lPXllcwphY19j dl93b3JraW5nX2FsbG9jYV9oPXllcwphbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlw ZT1nY2MzCmFtX2N2X21ha2Vfc3VwcG9ydF9uZXN0ZWRfdmFyaWFibGVzPXllcwphbV9jdl9wcm9n X2NjX2Nfbz15ZXMKZW1hY3NfY3ZfY19yZXN0cmljdF9hcnI9eWVzCmVtYWNzX2N2X2NsYW5nPW5v CmVtYWNzX2N2X2RhdGFfc3RhcnQ9bm8KZW1hY3NfY3ZfZnVuY19fX2J1aWx0aW5fdW53aW5kX2lu aXQ9eWVzCmVtYWNzX2N2X2Z1bmNfX3NldGptcD15ZXMKZW1hY3NfY3ZfbGFuZ2luZm9fY29kZXNl dD15ZXMKZW1hY3NfY3ZfbG9jYWx0aW1lX2NhY2hlPXllcwplbWFjc19jdl9uZXRkYl9kZWNsYXJl c19oX2Vycm5vPXllcwplbWFjc19jdl9wZXJzb25hbGl0eV9saW51eDMyPW5vCmVtYWNzX2N2X3Nh bml0aXplX2FkZHJlc3M9bm8KZW1hY3NfY3ZfdXNhYmxlX0ZJT05SRUFEPW5vCmVtYWNzX2N2X3Zh cl9kb3VnX2xlYV9tYWxsb2M9bm8KZW1hY3NfY3ZfeDExX3Rvb2xraXRfdmVyc2lvbl82PXllcwpl bWFjc19jdl94MTFfdmVyc2lvbl82PXllcwplbWFjc19jdl94YXczZD1ubwplbWFjc19jdl94YXc9 eWVzCmdkYl9jdl9iaWd0b2M9LVdsLC1iYmlndG9jCmdsX2N2X2NfYW1zdGVyZGFtX2NvbXBpbGVy PW5vCmdsX2N2X2NfbXVsdGlhcmNoPW5vCmdsX2N2X2RlY2xfbnVsbF93b3Jrcz15ZXMKZ2xfY3Zf ZGVjbF9yZWFkbGlua193b3Jrcz1ubwpnbF9jdl9mdW5jX19fZnBlbmRpbmc9bm8KZ2xfY3ZfZnVu Y19jOTlfc3RydG9sZD15ZXMKZ2xfY3ZfZnVuY19kdXAyX3dvcmtzPXllcwpnbF9jdl9mdW5jX2Zj bnRsX2ZfZHVwZmRfY2xvZXhlYz1ubwpnbF9jdl9mdW5jX2ZjbnRsX2ZfZHVwZmRfd29ya3M9eWVz CmdsX2N2X2Z1bmNfZ2V0ZHRhYmxlc2l6ZV93b3Jrcz15ZXMKZ2xfY3ZfZnVuY19nZXRncm91cHNf d29ya3M9eWVzCmdsX2N2X2Z1bmNfZ2V0dGltZW9mZGF5X2Nsb2JiZXI9bm8KZ2xfY3ZfZnVuY19n ZXR0aW1lb2ZkYXlfcG9zaXhfc2lnbmF0dXJlPXllcwpnbF9jdl9mdW5jX2xzdGF0X2RlcmVmZXJl bmNlc19zbGFzaGVkX3N5bWxpbms9bm8KZ2xfY3ZfZnVuY19wc2VsZWN0X2RldGVjdHNfZWJhZGY9 eWVzCmdsX2N2X2Z1bmNfcHRocmVhZF9zaWdtYXNrX2luX2xpYmNfd29ya3M9eWVzCmdsX2N2X2Z1 bmNfcHRocmVhZF9zaWdtYXNrX3JldHVybl93b3Jrcz15ZXMKZ2xfY3ZfZnVuY19wdGhyZWFkX3Np Z21hc2tfdW5ibG9ja193b3Jrcz0nZ3Vlc3NpbmcgeWVzJwpnbF9jdl9mdW5jX3JlYWRsaW5rX3dv cmtzPXllcwpnbF9jdl9mdW5jX3N0YXRfZGlyX3NsYXNoPXllcwpnbF9jdl9mdW5jX3N0YXRfZmls ZV9zbGFzaD1ubwpnbF9jdl9mdW5jX3N0cnRvaW1heD15ZXMKZ2xfY3ZfZnVuY19zdmlkX3B1dGVu dj1ubwpnbF9jdl9mdW5jX3N5bWxpbmtfd29ya3M9bm8KZ2xfY3ZfZnVuY191bnNldGVudl93b3Jr cz15ZXMKZ2xfY3ZfZnVuY192YV9jb3B5PXllcwpnbF9jdl9mdW5jX3dvcmtpbmdfbWt0aW1lPW5v CmdsX2N2X2Z1bmNfd29ya2luZ191dGltZXM9eWVzCmdsX2N2X2hhdmVfaW5jbHVkZV9uZXh0PXll cwpnbF9jdl9oZWFkZXJfZXJybm9faF9jb21wbGV0ZT15ZXMKZ2xfY3ZfaGVhZGVyX3N5c19zZWxl Y3RfaF9zZWxmY29udGFpbmVkPW5vCmdsX2N2X2hlYWRlcl93b3JraW5nX3N0ZGFsaWduX2g9bm8K Z2xfY3ZfaGVhZGVyX3dvcmtpbmdfc3RkaW50X2g9eWVzCmdsX2N2X25leHRfZGlyZW50X2g9Jzxk aXJlbnQuaD4nCmdsX2N2X25leHRfZmNudGxfaD0nPGZjbnRsLmg+JwpnbF9jdl9uZXh0X2dldG9w dF9oPSc8Z2V0b3B0Lmg+JwpnbF9jdl9uZXh0X2ludHR5cGVzX2g9JzxpbnR0eXBlcy5oPicKZ2xf Y3ZfbmV4dF9zaWduYWxfaD0nPHNpZ25hbC5oPicKZ2xfY3ZfbmV4dF9zdGRpbnRfaD0nPHN0ZGlu dC5oPicKZ2xfY3ZfbmV4dF9zdGRpb19oPSc8c3RkaW8uaD4nCmdsX2N2X25leHRfc3RkbGliX2g9 JzxzdGRsaWIuaD4nCmdsX2N2X25leHRfc3RyaW5nX2g9JzxzdHJpbmcuaD4nCmdsX2N2X25leHRf c3lzX3NlbGVjdF9oPSc8c3lzL3NlbGVjdC5oPicKZ2xfY3ZfbmV4dF9zeXNfc3RhdF9oPSc8c3lz L3N0YXQuaD4nCmdsX2N2X25leHRfc3lzX3RpbWVfaD0nPHN5cy90aW1lLmg+JwpnbF9jdl9uZXh0 X3N5c190eXBlc19oPSc8c3lzL3R5cGVzLmg+JwpnbF9jdl9uZXh0X3RpbWVfaD0nPHRpbWUuaD4n CmdsX2N2X25leHRfdW5pc3RkX2g9Jzx1bmlzdGQuaD4nCmdsX2N2X3ByYWdtYV9jb2x1bW5zPW5v CmdsX2N2X3JwbF9hbGxvY2E9eWVzCmdsX2N2X3NpZ19wc2VsZWN0PXllcwpnbF9jdl9zeXNfc3Ry dWN0X3RpbWVzcGVjX2luX3RpbWVfaD15ZXMKZ2xfY3Zfc3lzX3N0cnVjdF90aW1ldmFsPXllcwpn bF9jdl9zeXNfc3RydWN0X3RpbWV2YWxfdHZfc2VjPXllcwpnbF9jdl9zeXNfc3RydWN0X3V0aW1i dWY9eWVzCmdsX2N2X3RpbWVfcl9wb3NpeD15ZXMKZ2xfY3ZfdHlwZV9zaWdzZXRfdD15ZXMKZ3Rf Y3ZfY193Y2hhcl90PXllcwpndF9jdl9mdW5jX3Vuc2V0ZW52X3JldD1pbnQKZ3RfY3Zfc3NpemVf dD15ZXMKZ3RfY3ZfdmFyX2Vudmlyb25fZGVjbGFyYXRpb249eWVzCgojIyAtLS0tLS0tLS0tLS0t LS0tLSAjIwojIyBPdXRwdXQgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLSAjIwoK QUNMT0NBTD0nJHtTSEVMTH0gPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkxL2VtYWNzLTI0LjMu OTEvYnVpbGQtYXV4L21pc3NpbmcgYWNsb2NhbC0xLjE0JwpBRERTRUNUSU9OPScnCkFMTE9DQT0n JwpBTExPQ0FfSD0nYWxsb2NhLmgnCkFMU0FfQ0ZMQUdTPScnCkFMU0FfTElCUz0nJwpBTURFUEJB Q0tTTEFTSD0nXCcKQU1ERVBfRkFMU0U9JyMnCkFNREVQX1RSVUU9JycKQU1UQVI9JyQke1RBUi10 YXJ9JwpBTV9CQUNLU0xBU0g9J1wnCkFNX0RFRkFVTFRfVj0nJChBTV9ERUZBVUxUX1ZFUkJPU0lU WSknCkFNX0RFRkFVTFRfVkVSQk9TSVRZPScxJwpBTV9WPSckKFYpJwpBUFBMRV9VTklWRVJTQUxf QlVJTEQ9JzAnCkFSPSdhcicKQVJGTEFHUz0nY3J1JwpBVVRPQ09ORj0nJHtTSEVMTH0gPEhPTUVE SVI+L3NyYy9lbWFjcy8yNC4zLjkxL2VtYWNzLTI0LjMuOTEvYnVpbGQtYXV4L21pc3NpbmcgYXV0 b2NvbmYnCkFVVE9IRUFERVI9JyR7U0hFTEx9IDxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MS9l bWFjcy0yNC4zLjkxL2J1aWxkLWF1eC9taXNzaW5nIGF1dG9oZWFkZXInCkFVVE9NQUtFPScke1NI RUxMfSA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9idWlsZC1hdXgv bWlzc2luZyBhdXRvbWFrZS0xLjE0JwpBV0s9J25hd2snCkJJVFNJWkVPRl9QVFJESUZGX1Q9JycK QklUU0laRU9GX1NJR19BVE9NSUNfVD0nJwpCSVRTSVpFT0ZfU0laRV9UPScnCkJJVFNJWkVPRl9X Q0hBUl9UPScnCkJJVFNJWkVPRl9XSU5UX1Q9JycKQkxFU1NNQUlMX1RBUkdFVD0nJwpCVUlMRElO R19GT1JfV0lORE9XU05UX0ZBTFNFPScnCkJVSUxESU5HX0ZPUl9XSU5ET1dTTlRfVFJVRT0nIycK QllURVNXQVBfSD0nYnl0ZXN3YXAuaCcKQ0FOTk9UX0RVTVA9J25vJwpDQz0nPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OScKQ0NERVBNT0RFPSdkZXBtb2RlPWdjYzMnCkNGTEFH Uz0nLU8zJwpDRkxBR1NfU09VTkQ9JycKQ0xJRU5UUkVTPScnCkNMSUVOVFc9JycKQ01fT0JKPSdj bS5vJwpDT01fRVJSTElCPScnCkNQUD0nPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLUUnCkNQ UEZMQUdTPScgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJwpDUllQVE9MSUI9 JycKQ1lHUEFUSF9XPSdlY2hvJwpDWUdXSU5fT0JKPScnCkNfU1dJVENIX01BQ0hJTkU9JycKQ19T V0lUQ0hfU1lTVEVNPScnCkNfU1dJVENIX1hfU0lURT0nJwpEQlVTX0NGTEFHUz0nJwpEQlVTX0xJ QlM9JycKREJVU19PQko9JycKREVGUz0nLURIQVZFX0NPTkZJR19IJwpERVBESVI9Jy5kZXBzJwpE RVBGTEFHUz0nLU1NRCAtTUYgJHtERVBESVJ9LyQqLmQgLU1QJwpERVNMSUI9JycKRE9DTUlTQ19X MzI9JycKRUNIT19DPSdcYycKRUNIT19OPScnCkVDSE9fVD0nJwpFR1JFUD0nL3Vzci9sb2NhbC9i aW4vZ3JlcCAtRScKRU1BQ1NSRVM9JycKRU1BQ1NfSEVBUFNJWkU9JycKRU1BQ1NfTUFOSUZFU1Q9 JycKRU1VTFRJSE9QX0hJRERFTj0nJwpFTVVMVElIT1BfVkFMVUU9JycKRU5PTElOS19ISURERU49 JycKRU5PTElOS19WQUxVRT0nJwpFT1ZFUkZMT1dfSElEREVOPScnCkVPVkVSRkxPV19WQUxVRT0n JwpFUlJOT19IPScnCkVYRUNJTkZPX0g9J2V4ZWNpbmZvLmgnCkVYRUVYVD0nJwpGSVJTVEZJTEVf T0JKPScnCkZPTlRDT05GSUdfQ0ZMQUdTPScnCkZPTlRDT05GSUdfTElCUz0nJwpGT05UX09CSj0n eGZvbnQubycKRlJFRVRZUEVfQ0ZMQUdTPScnCkZSRUVUWVBFX0xJQlM9JycKR0NPTkZfQ0ZMQUdT PScnCkdDT05GX0xJQlM9JycKR0VUTE9BREFWR19MSUJTPSctbHBlcmZzdGF0ICcKR0VUT1BUX0g9 J2dldG9wdC5oJwpHRklMRU5PVElGWV9DRkxBR1M9JycKR0ZJTEVOT1RJRllfTElCUz0nJwpHTF9D T05EX0xJQlRPT0xfRkFMU0U9JycKR0xfQ09ORF9MSUJUT09MX1RSVUU9JyMnCkdMX0dFTkVSQVRF X0FMTE9DQV9IX0ZBTFNFPScjJwpHTF9HRU5FUkFURV9BTExPQ0FfSF9UUlVFPScnCkdMX0dFTkVS QVRFX0JZVEVTV0FQX0hfRkFMU0U9JyMnCkdMX0dFTkVSQVRFX0JZVEVTV0FQX0hfVFJVRT0nJwpH TF9HRU5FUkFURV9FUlJOT19IX0ZBTFNFPScnCkdMX0dFTkVSQVRFX0VSUk5PX0hfVFJVRT0nIycK R0xfR0VORVJBVEVfRVhFQ0lORk9fSF9GQUxTRT0nIycKR0xfR0VORVJBVEVfRVhFQ0lORk9fSF9U UlVFPScnCkdMX0dFTkVSQVRFX1NUREFMSUdOX0hfRkFMU0U9JyMnCkdMX0dFTkVSQVRFX1NUREFM SUdOX0hfVFJVRT0nJwpHTF9HRU5FUkFURV9TVERBUkdfSF9GQUxTRT0nJwpHTF9HRU5FUkFURV9T VERBUkdfSF9UUlVFPScjJwpHTF9HRU5FUkFURV9TVERCT09MX0hfRkFMU0U9JycKR0xfR0VORVJB VEVfU1REQk9PTF9IX1RSVUU9JyMnCkdMX0dFTkVSQVRFX1NURERFRl9IX0ZBTFNFPScnCkdMX0dF TkVSQVRFX1NURERFRl9IX1RSVUU9JyMnCkdMX0dFTkVSQVRFX1NURElOVF9IX0ZBTFNFPScnCkdM X0dFTkVSQVRFX1NURElOVF9IX1RSVUU9JyMnCkdNQUxMT0NfT0JKPSdnbWFsbG9jLm8nCkdOVUxJ Ql9BTFBIQVNPUlQ9JzAnCkdOVUxJQl9BVE9MTD0nMCcKR05VTElCX0NBTExPQ19QT1NJWD0nMCcK R05VTElCX0NBTk9OSUNBTElaRV9GSUxFX05BTUU9JzAnCkdOVUxJQl9DSERJUj0nMCcKR05VTElC X0NIT1dOPScwJwpHTlVMSUJfQ0xPU0U9JzAnCkdOVUxJQl9DTE9TRURJUj0nMCcKR05VTElCX0RJ UkZEPScwJwpHTlVMSUJfRFBSSU5URj0nMCcKR05VTElCX0RVUDI9JzEnCkdOVUxJQl9EVVAzPScw JwpHTlVMSUJfRFVQPScwJwpHTlVMSUJfRU5WSVJPTj0nMScKR05VTElCX0VVSURBQ0NFU1M9JzEn CkdOVUxJQl9GQUNDRVNTQVQ9JzEnCkdOVUxJQl9GQ0hESVI9JzAnCkdOVUxJQl9GQ0hNT0RBVD0n MCcKR05VTElCX0ZDSE9XTkFUPScwJwpHTlVMSUJfRkNMT1NFPScwJwpHTlVMSUJfRkNOVEw9JzEn CkdOVUxJQl9GREFUQVNZTkM9JzEnCkdOVUxJQl9GRE9QRU49JzAnCkdOVUxJQl9GRE9QRU5ESVI9 JzEnCkdOVUxJQl9GRkxVU0g9JzAnCkdOVUxJQl9GRlNMPScwJwpHTlVMSUJfRkZTTEw9JzAnCkdO VUxJQl9GR0VUQz0nMScKR05VTElCX0ZHRVRTPScxJwpHTlVMSUJfRk9QRU49JzAnCkdOVUxJQl9G UFJJTlRGPScxJwpHTlVMSUJfRlBSSU5URl9QT1NJWD0nMCcKR05VTElCX0ZQVVJHRT0nMCcKR05V TElCX0ZQVVRDPScxJwpHTlVMSUJfRlBVVFM9JzEnCkdOVUxJQl9GUkVBRD0nMScKR05VTElCX0ZS RU9QRU49JzAnCkdOVUxJQl9GU0NBTkY9JzEnCkdOVUxJQl9GU0VFSz0nMCcKR05VTElCX0ZTRUVL Tz0nMCcKR05VTElCX0ZTVEFUPScwJwpHTlVMSUJfRlNUQVRBVD0nMScKR05VTElCX0ZTWU5DPScx JwpHTlVMSUJfRlRFTEw9JzAnCkdOVUxJQl9GVEVMTE89JzAnCkdOVUxJQl9GVFJVTkNBVEU9JzAn CkdOVUxJQl9GVVRJTUVOUz0nMCcKR05VTElCX0ZXUklURT0nMScKR05VTElCX0dFVEM9JzEnCkdO VUxJQl9HRVRDSEFSPScxJwpHTlVMSUJfR0VUQ1dEPScwJwpHTlVMSUJfR0VUREVMSU09JzAnCkdO VUxJQl9HRVRET01BSU5OQU1FPScwJwpHTlVMSUJfR0VURFRBQkxFU0laRT0nMScKR05VTElCX0dF VEdST1VQUz0nMScKR05VTElCX0dFVEhPU1ROQU1FPScwJwpHTlVMSUJfR0VUTElORT0nMCcKR05V TElCX0dFVExPQURBVkc9JzEnCkdOVUxJQl9HRVRMT0dJTj0nMCcKR05VTElCX0dFVExPR0lOX1I9 JzAnCkdOVUxJQl9HRVRQQUdFU0laRT0nMCcKR05VTElCX0dFVFNVQk9QVD0nMCcKR05VTElCX0dF VFRJTUVPRkRBWT0nMScKR05VTElCX0dFVFVTRVJTSEVMTD0nMCcKR05VTElCX0dMX1VOSVNURF9I X0dFVE9QVD0nMScKR05VTElCX0dSQU5UUFQ9JzAnCkdOVUxJQl9HUk9VUF9NRU1CRVI9JzEnCkdO VUxJQl9JTUFYQUJTPScwJwpHTlVMSUJfSU1BWERJVj0nMCcKR05VTElCX0lTQVRUWT0nMCcKR05V TElCX0xDSE1PRD0nMCcKR05VTElCX0xDSE9XTj0nMCcKR05VTElCX0xJTks9JzAnCkdOVUxJQl9M SU5LQVQ9JzAnCkdOVUxJQl9MU0VFSz0nMCcKR05VTElCX0xTVEFUPScxJwpHTlVMSUJfTUFMTE9D X1BPU0lYPScwJwpHTlVMSUJfTUJTQ0FTRUNNUD0nMCcKR05VTElCX01CU0NBU0VTVFI9JzAnCkdO VUxJQl9NQlNDSFI9JzAnCkdOVUxJQl9NQlNDU1BOPScwJwpHTlVMSUJfTUJTTEVOPScwJwpHTlVM SUJfTUJTTkNBU0VDTVA9JzAnCkdOVUxJQl9NQlNOTEVOPScwJwpHTlVMSUJfTUJTUEJSSz0nMCcK R05VTElCX01CU1BDQVNFQ01QPScwJwpHTlVMSUJfTUJTUkNIUj0nMCcKR05VTElCX01CU1NFUD0n MCcKR05VTElCX01CU1NQTj0nMCcKR05VTElCX01CU1NUUj0nMCcKR05VTElCX01CU1RPS19SPScw JwpHTlVMSUJfTUJUT1dDPScwJwpHTlVMSUJfTUVNQ0hSPScwJwpHTlVMSUJfTUVNTUVNPScwJwpH TlVMSUJfTUVNUENQWT0nMCcKR05VTElCX01FTVJDSFI9JzEnCkdOVUxJQl9NS0RJUkFUPScwJwpH TlVMSUJfTUtEVEVNUD0nMCcKR05VTElCX01LRklGTz0nMCcKR05VTElCX01LRklGT0FUPScwJwpH TlVMSUJfTUtOT0Q9JzAnCkdOVUxJQl9NS05PREFUPScwJwpHTlVMSUJfTUtPU1RFTVA9JzEnCkdO VUxJQl9NS09TVEVNUFM9JzAnCkdOVUxJQl9NS1NURU1QPScwJwpHTlVMSUJfTUtTVEVNUFM9JzAn CkdOVUxJQl9NS1RJTUU9JzEnCkdOVUxJQl9OQU5PU0xFRVA9JzAnCkdOVUxJQl9OT05CTE9DS0lO Rz0nMCcKR05VTElCX09CU1RBQ0tfUFJJTlRGPScwJwpHTlVMSUJfT0JTVEFDS19QUklOVEZfUE9T SVg9JzAnCkdOVUxJQl9PUEVOPScwJwpHTlVMSUJfT1BFTkFUPScwJwpHTlVMSUJfT1BFTkRJUj0n MCcKR05VTElCX1BDTE9TRT0nMCcKR05VTElCX1BFUlJPUj0nMCcKR05VTElCX1BJUEUyPScxJwpH TlVMSUJfUElQRT0nMCcKR05VTElCX1BPUEVOPScwJwpHTlVMSUJfUE9TSVhfT1BFTlBUPScwJwpH TlVMSUJfUFJFQUQ9JzAnCkdOVUxJQl9QUklOVEY9JzEnCkdOVUxJQl9QUklOVEZfUE9TSVg9JzAn CkdOVUxJQl9QU0VMRUNUPScxJwpHTlVMSUJfUFRIUkVBRF9TSUdNQVNLPScxJwpHTlVMSUJfUFRT TkFNRT0nMCcKR05VTElCX1BUU05BTUVfUj0nMCcKR05VTElCX1BVVEM9JzEnCkdOVUxJQl9QVVRD SEFSPScxJwpHTlVMSUJfUFVURU5WPScxJwpHTlVMSUJfUFVUUz0nMScKR05VTElCX1BXUklURT0n MCcKR05VTElCX1JBSVNFPScwJwpHTlVMSUJfUkFORE9NPScwJwpHTlVMSUJfUkFORE9NX1I9JzAn CkdOVUxJQl9SQVdNRU1DSFI9JzAnCkdOVUxJQl9SRUFEPScwJwpHTlVMSUJfUkVBRERJUj0nMCcK R05VTElCX1JFQURMSU5LPScxJwpHTlVMSUJfUkVBRExJTktBVD0nMScKR05VTElCX1JFQUxMT0Nf UE9TSVg9JzAnCkdOVUxJQl9SRUFMUEFUSD0nMCcKR05VTElCX1JFTU9WRT0nMCcKR05VTElCX1JF TkFNRT0nMCcKR05VTElCX1JFTkFNRUFUPScwJwpHTlVMSUJfUkVXSU5ERElSPScwJwpHTlVMSUJf Uk1ESVI9JzAnCkdOVUxJQl9SUE1BVENIPScwJwpHTlVMSUJfU0NBTkRJUj0nMCcKR05VTElCX1ND QU5GPScxJwpHTlVMSUJfU0VDVVJFX0dFVEVOVj0nMScKR05VTElCX1NFTEVDVD0nMCcKR05VTElC X1NFVEVOVj0nMCcKR05VTElCX1NFVEhPU1ROQU1FPScwJwpHTlVMSUJfU0lHQUNUSU9OPScwJwpH TlVMSUJfU0lHTkFMX0hfU0lHUElQRT0nMCcKR05VTElCX1NJR1BST0NNQVNLPScwJwpHTlVMSUJf U0xFRVA9JzAnCkdOVUxJQl9TTlBSSU5URj0nMCcKR05VTElCX1NQUklOVEZfUE9TSVg9JzAnCkdO VUxJQl9TVEFUPScxJwpHTlVMSUJfU1RESU9fSF9OT05CTE9DS0lORz0nMCcKR05VTElCX1NURElP X0hfU0lHUElQRT0nMCcKR05VTElCX1NUUENQWT0nMCcKR05VTElCX1NUUE5DUFk9JzAnCkdOVUxJ Ql9TVFJDQVNFU1RSPScwJwpHTlVMSUJfU1RSQ0hSTlVMPScwJwpHTlVMSUJfU1RSRFVQPScwJwpH TlVMSUJfU1RSRVJST1I9JzAnCkdOVUxJQl9TVFJFUlJPUl9SPScwJwpHTlVMSUJfU1RSTkNBVD0n MCcKR05VTElCX1NUUk5EVVA9JzAnCkdOVUxJQl9TVFJOTEVOPScwJwpHTlVMSUJfU1RSUEJSSz0n MCcKR05VTElCX1NUUlBUSU1FPScwJwpHTlVMSUJfU1RSU0VQPScwJwpHTlVMSUJfU1RSU0lHTkFM PScwJwpHTlVMSUJfU1RSU1RSPScwJwpHTlVMSUJfU1RSVE9EPScwJwpHTlVMSUJfU1RSVE9JTUFY PScxJwpHTlVMSUJfU1RSVE9LX1I9JzAnCkdOVUxJQl9TVFJUT0xMPScwJwpHTlVMSUJfU1RSVE9V TEw9JzAnCkdOVUxJQl9TVFJUT1VNQVg9JzEnCkdOVUxJQl9TVFJWRVJTQ01QPScwJwpHTlVMSUJf U1lNTElOSz0nMScKR05VTElCX1NZTUxJTktBVD0nMCcKR05VTElCX1NZU1RFTV9QT1NJWD0nMCcK R05VTElCX1RJTUVHTT0nMCcKR05VTElCX1RJTUVfUj0nMScKR05VTElCX1RNUEZJTEU9JzAnCkdO VUxJQl9UVFlOQU1FX1I9JzAnCkdOVUxJQl9VTklTVERfSF9OT05CTE9DS0lORz0nMCcKR05VTElC X1VOSVNURF9IX1NJR1BJUEU9JzAnCkdOVUxJQl9VTkxJTks9JzAnCkdOVUxJQl9VTkxJTktBVD0n MCcKR05VTElCX1VOTE9DS1BUPScwJwpHTlVMSUJfVU5TRVRFTlY9JzEnCkdOVUxJQl9VU0xFRVA9 JzAnCkdOVUxJQl9VVElNRU5TQVQ9JzAnCkdOVUxJQl9WQVNQUklOVEY9JzAnCkdOVUxJQl9WRFBS SU5URj0nMCcKR05VTElCX1ZGUFJJTlRGPScxJwpHTlVMSUJfVkZQUklOVEZfUE9TSVg9JzAnCkdO VUxJQl9WRlNDQU5GPScwJwpHTlVMSUJfVlBSSU5URj0nMScKR05VTElCX1ZQUklOVEZfUE9TSVg9 JzAnCkdOVUxJQl9WU0NBTkY9JzAnCkdOVUxJQl9WU05QUklOVEY9JzAnCkdOVUxJQl9WU1BSSU5U Rl9QT1NJWD0nMCcKR05VTElCX1dBUk5fQ0ZMQUdTPScnCkdOVUxJQl9XQ1RPTUI9JzAnCkdOVUxJ Ql9XUklURT0nMCcKR05VTElCX19FWElUPScwJwpHTlVTVEVQX0NGTEFHUz0nJwpHTlVfT0JKQ19D RkxBR1M9JycKR09CSkVDVF9DRkxBR1M9JycKR09CSkVDVF9MSUJTPScnCkdSRVA9Jy91c3IvbG9j YWwvYmluL2dyZXAnCkdTRVRUSU5HU19DRkxBR1M9JycKR1NFVFRJTkdTX0xJQlM9JycKR1RLX0NG TEFHUz0nJwpHVEtfTElCUz0nJwpHVEtfT0JKPScnCkdaSVBfUFJPRz0nL3Vzci9sb2NhbC9iaW4v Z3ppcCcKSEFWRV9BTFBIQVNPUlQ9JzEnCkhBVkVfQVRPTEw9JzEnCkhBVkVfQ0FOT05JQ0FMSVpF X0ZJTEVfTkFNRT0nMScKSEFWRV9DSE9XTj0nMScKSEFWRV9DTE9TRURJUj0nMScKSEFWRV9ERUNM X0RJUkZEPScxJwpIQVZFX0RFQ0xfRU5WSVJPTj0nMScKSEFWRV9ERUNMX0ZDSERJUj0nMScKSEFW RV9ERUNMX0ZEQVRBU1lOQz0nMScKSEFWRV9ERUNMX0ZET1BFTkRJUj0nMCcKSEFWRV9ERUNMX0ZQ VVJHRT0nMScKSEFWRV9ERUNMX0ZTRUVLTz0nMScKSEFWRV9ERUNMX0ZURUxMTz0nMScKSEFWRV9E RUNMX0dFVERFTElNPScxJwpIQVZFX0RFQ0xfR0VURE9NQUlOTkFNRT0nMScKSEFWRV9ERUNMX0dF VExJTkU9JzEnCkhBVkVfREVDTF9HRVRMT0FEQVZHPScwJwpIQVZFX0RFQ0xfR0VUTE9HSU5fUj0n MScKSEFWRV9ERUNMX0dFVFBBR0VTSVpFPScxJwpIQVZFX0RFQ0xfR0VUVVNFUlNIRUxMPScxJwpI QVZFX0RFQ0xfSU1BWEFCUz0nMScKSEFWRV9ERUNMX0lNQVhESVY9JzEnCkhBVkVfREVDTF9MT0NB TFRJTUVfUj0nMScKSEFWRV9ERUNMX01FTU1FTT0nMScKSEFWRV9ERUNMX01FTVJDSFI9JzAnCkhB VkVfREVDTF9PQlNUQUNLX1BSSU5URj0nMScKSEFWRV9ERUNMX1NFVEVOVj0nMScKSEFWRV9ERUNM X1NFVEhPU1ROQU1FPScxJwpIQVZFX0RFQ0xfU05QUklOVEY9JzEnCkhBVkVfREVDTF9TVFJEVVA9 JzEnCkhBVkVfREVDTF9TVFJFUlJPUl9SPScxJwpIQVZFX0RFQ0xfU1RSTkRVUD0nMScKSEFWRV9E RUNMX1NUUk5MRU49JzEnCkhBVkVfREVDTF9TVFJTSUdOQUw9JzEnCkhBVkVfREVDTF9TVFJUT0lN QVg9JzEnCkhBVkVfREVDTF9TVFJUT0tfUj0nMScKSEFWRV9ERUNMX1NUUlRPVU1BWD0nMScKSEFW RV9ERUNMX1RUWU5BTUVfUj0nMScKSEFWRV9ERUNMX1VOU0VURU5WPScxJwpIQVZFX0RFQ0xfVlNO UFJJTlRGPScxJwpIQVZFX0RJUkVOVF9IPScxJwpIQVZFX0RQUklOVEY9JzEnCkhBVkVfRFVQMj0n MScKSEFWRV9EVVAzPScxJwpIQVZFX0VVSURBQ0NFU1M9JzAnCkhBVkVfRkFDQ0VTU0FUPScwJwpI QVZFX0ZDSERJUj0nMScKSEFWRV9GQ0hNT0RBVD0nMScKSEFWRV9GQ0hPV05BVD0nMScKSEFWRV9G Q05UTD0nMScKSEFWRV9GREFUQVNZTkM9JzEnCkhBVkVfRkRPUEVORElSPScwJwpIQVZFX0ZGU0w9 JzEnCkhBVkVfRkZTTEw9JzEnCkhBVkVfRlNFRUtPPScxJwpIQVZFX0ZTVEFUQVQ9JzAnCkhBVkVf RlNZTkM9JzEnCkhBVkVfRlRFTExPPScxJwpIQVZFX0ZUUlVOQ0FURT0nMScKSEFWRV9GVVRJTUVO Uz0nMScKSEFWRV9HRVREVEFCTEVTSVpFPScxJwpIQVZFX0dFVEdST1VQUz0nMScKSEFWRV9HRVRI T1NUTkFNRT0nMScKSEFWRV9HRVRMT0dJTj0nMScKSEFWRV9HRVRPUFRfSD0nMCcKSEFWRV9HRVRQ QUdFU0laRT0nMScKSEFWRV9HRVRTVUJPUFQ9JzEnCkhBVkVfR0VUVElNRU9GREFZPScxJwpIQVZF X0dSQU5UUFQ9JzEnCkhBVkVfR1JPVVBfTUVNQkVSPScwJwpIQVZFX0lOVFRZUEVTX0g9JzEnCkhB VkVfTENITU9EPScxJwpIQVZFX0xDSE9XTj0nMScKSEFWRV9MSU5LPScxJwpIQVZFX0xJTktBVD0n MScKSEFWRV9MT05HX0xPTkdfSU5UPScxJwpIQVZFX0xTVEFUPScxJwpIQVZFX01BS0VJTkZPPSdu bycKSEFWRV9NQlNMRU49JzAnCkhBVkVfTUVNQ0hSPScxJwpIQVZFX01FTVBDUFk9JzEnCkhBVkVf TUtESVJBVD0nMScKSEFWRV9NS0RURU1QPScxJwpIQVZFX01LRklGTz0nMScKSEFWRV9NS0ZJRk9B VD0nMScKSEFWRV9NS05PRD0nMScKSEFWRV9NS05PREFUPScxJwpIQVZFX01LT1NURU1QPScwJwpI QVZFX01LT1NURU1QUz0nMScKSEFWRV9NS1NURU1QPScxJwpIQVZFX01LU1RFTVBTPScxJwpIQVZF X05BTk9TTEVFUD0nMScKSEFWRV9PUEVOQVQ9JzEnCkhBVkVfT1BFTkRJUj0nMScKSEFWRV9PU19I PScwJwpIQVZFX1BDTE9TRT0nMScKSEFWRV9QSVBFMj0nMCcKSEFWRV9QSVBFPScxJwpIQVZFX1BP UEVOPScxJwpIQVZFX1BPU0lYX09QRU5QVD0nMScKSEFWRV9QT1NJWF9TSUdOQUxCTE9DS0lORz0n MScKSEFWRV9QUkVBRD0nMScKSEFWRV9QU0VMRUNUPScxJwpIQVZFX1BUSFJFQURfU0lHTUFTSz0n MScKSEFWRV9QVFNOQU1FPScxJwpIQVZFX1BUU05BTUVfUj0nMScKSEFWRV9QV1JJVEU9JzEnCkhB VkVfUkFJU0U9JzEnCkhBVkVfUkFORE9NPScxJwpIQVZFX1JBTkRPTV9IPScxJwpIQVZFX1JBTkRP TV9SPScxJwpIQVZFX1JBV01FTUNIUj0nMScKSEFWRV9SRUFERElSPScxJwpIQVZFX1JFQURMSU5L PScxJwpIQVZFX1JFQURMSU5LQVQ9JzAnCkhBVkVfUkVBTFBBVEg9JzEnCkhBVkVfUkVOQU1FQVQ9 JzEnCkhBVkVfUkVXSU5ERElSPScxJwpIQVZFX1JQTUFUQ0g9JzEnCkhBVkVfU0NBTkRJUj0nMScK SEFWRV9TRUNVUkVfR0VURU5WPScwJwpIQVZFX1NFVEVOVj0nMScKSEFWRV9TRVRIT1NUTkFNRT0n MScKSEFWRV9TSUdBQ1RJT049JzEnCkhBVkVfU0lHSEFORExFUl9UPScwJwpIQVZFX1NJR0lORk9f VD0nMScKSEFWRV9TSUdORURfU0lHX0FUT01JQ19UPScnCkhBVkVfU0lHTkVEX1dDSEFSX1Q9JycK SEFWRV9TSUdORURfV0lOVF9UPScnCkhBVkVfU0lHU0VUX1Q9JzEnCkhBVkVfU0xFRVA9JzEnCkhB VkVfU1RESU5UX0g9JzEnCkhBVkVfU1RQQ1BZPScxJwpIQVZFX1NUUE5DUFk9JzEnCkhBVkVfU1RS Q0FTRVNUUj0nMScKSEFWRV9TVFJDSFJOVUw9JzEnCkhBVkVfU1RSUEJSSz0nMScKSEFWRV9TVFJQ VElNRT0nMScKSEFWRV9TVFJTRVA9JzEnCkhBVkVfU1RSVE9EPScxJwpIQVZFX1NUUlRPTEw9JzEn CkhBVkVfU1RSVE9VTEw9JzEnCkhBVkVfU1RSVUNUX1JBTkRPTV9EQVRBPScxJwpIQVZFX1NUUlVD VF9TSUdBQ1RJT05fU0FfU0lHQUNUSU9OPScxJwpIQVZFX1NUUlVDVF9USU1FVkFMPScxJwpIQVZF X1NUUlZFUlNDTVA9JzEnCkhBVkVfU1lNTElOSz0nMScKSEFWRV9TWU1MSU5LQVQ9JzEnCkhBVkVf U1lTX0JJVFlQRVNfSD0nJwpIQVZFX1NZU19JTlRUWVBFU19IPScnCkhBVkVfU1lTX0xPQURBVkdf SD0nMCcKSEFWRV9TWVNfUEFSQU1fSD0nMCcKSEFWRV9TWVNfU0VMRUNUX0g9JzEnCkhBVkVfU1lT X1RJTUVfSD0nMScKSEFWRV9TWVNfVFlQRVNfSD0nMScKSEFWRV9USU1FR009JzEnCkhBVkVfVFlQ RV9WT0xBVElMRV9TSUdfQVRPTUlDX1Q9JzEnCkhBVkVfVU5JU1REX0g9JzEnCkhBVkVfVU5MSU5L QVQ9JzEnCkhBVkVfVU5MT0NLUFQ9JzEnCkhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVD0nMScK SEFWRV9VU0xFRVA9JzEnCkhBVkVfVVRJTUVOU0FUPScxJwpIQVZFX1ZBU1BSSU5URj0nMScKSEFW RV9WRFBSSU5URj0nMScKSEFWRV9XQ0hBUl9IPScxJwpIQVZFX1dDSEFSX1Q9JzEnCkhBVkVfV0lO U09DSzJfSD0nMCcKSEFWRV9YU0VSVkVSPScnCkhBVkVfX0JPT0w9JzEnCkhBVkVfX0VYSVQ9JzEn CklNQUdFTUFHSUNLX0NGTEFHUz0nJwpJTUFHRU1BR0lDS19MSUJTPScnCklOQ0xVREVfTkVYVD0n aW5jbHVkZV9uZXh0JwpJTkNMVURFX05FWFRfQVNfRklSU1RfRElSRUNUSVZFPSdpbmNsdWRlX25l eHQnCklORk9fRVhUPScuaW5mbycKSU5GT19PUFRTPSctLW5vLXNwbGl0JwpJTlNUQUxMX0FSQ0hf SU5ERVBfRVhUUkE9J2luc3RhbGwtZXRjJwpJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0 JwpJTlNUQUxMX0lORk89Jy9vcHQvZnJlZXdhcmUvYmluL2luc3RhbGwtaW5mbycKSU5TVEFMTF9Q Uk9HUkFNPScke0lOU1RBTEx9JwpJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxMfScKSU5TVEFMTF9T VFJJUF9QUk9HUkFNPSckKGluc3RhbGxfc2gpIC1jIC1zJwpJTlQzMl9NQVhfTFRfSU5UTUFYX01B WD0nMScKSU5UNjRfTUFYX0VRX0xPTkdfTUFYPSdkZWZpbmVkIF9MUDY0JwpLUkI0TElCPScnCktS QjVMSUI9JycKTERGTEFHUz0nIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJi aWd0b2MgJwpMRF9TV0lUQ0hfU1lTVEVNPScnCkxEX1NXSVRDSF9TWVNURU1fVEVNQUNTPScgLVds LC1ibm9kZWxjc2VjdCcKTERfU1dJVENIX1hfU0lURT0nJwpMRF9TV0lUQ0hfWF9TSVRFX1JQQVRI PScnCkxJQkdJRj0nJwpMSUJHTlVUTFNfQ0ZMQUdTPScnCkxJQkdOVVRMU19MSUJTPScnCkxJQkdO VV9MSUJERVBTPScnCkxJQkdOVV9MVExJQkRFUFM9JycKTElCR1BNPScnCkxJQkhFU0lPRD0nJwpM SUJJTlRMPScnCkxJQkpQRUc9Jy1sanBlZycKTElCT0JKUz0nJwpMSUJPVEZfQ0ZMQUdTPScnCkxJ Qk9URl9MSUJTPScnCkxJQlBORz0nLWxwbmcxMiAtbHogLWxtJwpMSUJSRVNPTFY9JycKTElCUz0n LWxtIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1s SU0gLWxpY29udiAgLWxwbmcxNScKTElCU0VMSU5VWF9MSUJTPScnCkxJQlNPVU5EPScnCkxJQlNf RUNMSUVOVD0nJwpMSUJTX0dOVVNURVA9JycKTElCU19NQUlMPScnCkxJQlNfU1lTVEVNPSctbHJ0 cyAtbElNIC1saWNvbnYnCkxJQlNfVEVSTUNBUD0nLWxjdXJzZXMnCkxJQlRJRkY9Jy1sdGlmZicK TElCWE1FTlU9JyQobHdsaWJkaXIpL2xpYmx3LmEnCkxJQlhNTDJfQ0ZMQUdTPScnCkxJQlhNTDJf TElCUz0nJwpMSUJYTVU9Jy1sWG11JwpMSUJYUE09Jy1sWHBtJwpMSUJYU009Jy1sU00gLWxJQ0Un CkxJQlhUUjY9Jy1sU00gLWxJQ0UnCkxJQlhUX09USEVSPSckKExJQlhNVSkgLWxYdCAkKExJQlhU UjYpIC1sWGV4dCcKTElCWF9PVEhFUj0nJChMSUJYVCkgJChMSUJYX0VYVFJBKScKTElCWj0nLWx6 JwpMSUJfQUNMPScnCkxJQl9DTE9DS19HRVRUSU1FPScnCkxJQl9FQUNDRVNTPScnCkxJQl9FWEVD SU5GTz0nJwpMSUJfRkRBVEFTWU5DPScnCkxJQl9NQVRIPSctbG0nCkxJQl9QVEhSRUFEPSctbHB0 aHJlYWQnCkxJQl9QVEhSRUFEX1NJR01BU0s9JycKTElCX1RJTUVSX1RJTUU9JycKTElCX1dTT0NL MzI9JycKTE5fU19GSUxFT05MWT0nbG4gLXMnCkxUTElCSU5UTD0nJwpMVExJQk9CSlM9JycKTTE3 Tl9GTFRfQ0ZMQUdTPScnCk0xN05fRkxUX0xJQlM9JycKTUFLRUlORk89J21ha2VpbmZvJwpNQUtF X1BST0c9JycKTUtERVBESVI9JyR7TUtESVJfUH0gJHtERVBESVJ9JwpNS0RJUl9QPScvb3B0L2Zy ZWV3YXJlL2Jpbi9ta2RpciAtcCcKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfRElSRU5UX0g9Jzxk aXJlbnQuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX0VSUk5PX0g9JycKTkVYVF9BU19GSVJT VF9ESVJFQ1RJVkVfRkNOVExfSD0nPGZjbnRsLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9H RVRPUFRfSD0nPGdldG9wdC5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfSU5UVFlQRVNfSD0n PGludHR5cGVzLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TSUdOQUxfSD0nPHNpZ25hbC5o PicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1REQVJHX0g9JycKTkVYVF9BU19GSVJTVF9ESVJF Q1RJVkVfU1REREVGX0g9JycKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1RESU5UX0g9JzxzdGRp bnQuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NURElPX0g9JzxzdGRpby5oPicKTkVYVF9B U19GSVJTVF9ESVJFQ1RJVkVfU1RETElCX0g9JzxzdGRsaWIuaD4nCk5FWFRfQVNfRklSU1RfRElS RUNUSVZFX1NUUklOR19IPSc8c3RyaW5nLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TWVNf U0VMRUNUX0g9JzxzeXMvc2VsZWN0Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TWVNfU1RB VF9IPSc8c3lzL3N0YXQuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NZU19USU1FX0g9Jzxz eXMvdGltZS5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1lTX1RZUEVTX0g9JzxzeXMvdHlw ZXMuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1RJTUVfSD0nPHRpbWUuaD4nCk5FWFRfQVNf RklSU1RfRElSRUNUSVZFX1VOSVNURF9IPSc8dW5pc3RkLmg+JwpORVhUX0RJUkVOVF9IPSc8ZGly ZW50Lmg+JwpORVhUX0VSUk5PX0g9JycKTkVYVF9GQ05UTF9IPSc8ZmNudGwuaD4nCk5FWFRfR0VU T1BUX0g9JzxnZXRvcHQuaD4nCk5FWFRfSU5UVFlQRVNfSD0nPGludHR5cGVzLmg+JwpORVhUX1NJ R05BTF9IPSc8c2lnbmFsLmg+JwpORVhUX1NUREFSR19IPSc8c3RkYXJnLmg+JwpORVhUX1NURERF Rl9IPScnCk5FWFRfU1RESU5UX0g9JzxzdGRpbnQuaD4nCk5FWFRfU1RESU9fSD0nPHN0ZGlvLmg+ JwpORVhUX1NURExJQl9IPSc8c3RkbGliLmg+JwpORVhUX1NUUklOR19IPSc8c3RyaW5nLmg+JwpO RVhUX1NZU19TRUxFQ1RfSD0nPHN5cy9zZWxlY3QuaD4nCk5FWFRfU1lTX1NUQVRfSD0nPHN5cy9z dGF0Lmg+JwpORVhUX1NZU19USU1FX0g9JzxzeXMvdGltZS5oPicKTkVYVF9TWVNfVFlQRVNfSD0n PHN5cy90eXBlcy5oPicKTkVYVF9USU1FX0g9Jzx0aW1lLmg+JwpORVhUX1VOSVNURF9IPSc8dW5p c3RkLmg+JwpOT1RJRllfT0JKPScnCk5TX09CSj0nJwpOU19PQkpDX09CSj0nJwpOVERJUj0nJwpO VExJQj0nJwpPQkpFWFQ9J28nCk9USEVSX0ZJTEVTPScnClBBQ0tBR0U9J2VtYWNzJwpQQUNLQUdF X0JVR1JFUE9SVD0nJwpQQUNLQUdFX05BTUU9J2VtYWNzJwpQQUNLQUdFX1NUUklORz0nZW1hY3Mg MjQuMy45MScKUEFDS0FHRV9UQVJOQU1FPSdlbWFjcycKUEFDS0FHRV9VUkw9JycKUEFDS0FHRV9W RVJTSU9OPScyNC4zLjkxJwpQQVRIX1NFUEFSQVRPUj0nOicKUEFYQ1RMPScnClBLR19DT05GSUc9 Jy9iaW4vcGtnLWNvbmZpZycKUE9TVF9BTExPQ19PQko9JycKUFJBR01BX0NPTFVNTlM9JycKUFJB R01BX1NZU1RFTV9IRUFERVI9JyNwcmFnbWEgR0NDIHN5c3RlbV9oZWFkZXInClBSRV9BTExPQ19P Qko9J2xhc3RmaWxlLm8nClBSSVBUUl9QUkVGSVg9J19fUFJJUFRSX1BSRUZJWCcKUFJJX01BQ1JP U19CUk9LRU49JzAnClBST0ZJTElOR19DRkxBR1M9JycKUFRIUkVBRF9IX0RFRklORVNfU1RSVUNU X1RJTUVTUEVDPScwJwpQVFJESUZGX1RfU1VGRklYPScnClJBTExPQ19PQko9J3JhbGxvYy5vJwpS QU5MSUI9J3JhbmxpYicKUkVQTEFDRV9DQUxMT0M9JzAnClJFUExBQ0VfQ0FOT05JQ0FMSVpFX0ZJ TEVfTkFNRT0nMCcKUkVQTEFDRV9DSE9XTj0nMCcKUkVQTEFDRV9DTE9TRT0nMCcKUkVQTEFDRV9D TE9TRURJUj0nMCcKUkVQTEFDRV9ESVJGRD0nMCcKUkVQTEFDRV9EUFJJTlRGPScwJwpSRVBMQUNF X0RVUDI9JzAnClJFUExBQ0VfRFVQPScwJwpSRVBMQUNFX0ZDSE9XTkFUPScwJwpSRVBMQUNFX0ZD TE9TRT0nMCcKUkVQTEFDRV9GQ05UTD0nMScKUkVQTEFDRV9GRE9QRU49JzAnClJFUExBQ0VfRkRP UEVORElSPScwJwpSRVBMQUNFX0ZGTFVTSD0nMCcKUkVQTEFDRV9GT1BFTj0nMCcKUkVQTEFDRV9G UFJJTlRGPScwJwpSRVBMQUNFX0ZQVVJHRT0nMCcKUkVQTEFDRV9GUkVPUEVOPScwJwpSRVBMQUNF X0ZTRUVLPScwJwpSRVBMQUNFX0ZTRUVLTz0nMCcKUkVQTEFDRV9GU1RBVD0nMCcKUkVQTEFDRV9G U1RBVEFUPScwJwpSRVBMQUNFX0ZURUxMPScwJwpSRVBMQUNFX0ZURUxMTz0nMCcKUkVQTEFDRV9G VFJVTkNBVEU9JzAnClJFUExBQ0VfRlVUSU1FTlM9JzAnClJFUExBQ0VfR0VUQ1dEPScwJwpSRVBM QUNFX0dFVERFTElNPScwJwpSRVBMQUNFX0dFVERPTUFJTk5BTUU9JzAnClJFUExBQ0VfR0VURFRB QkxFU0laRT0nMCcKUkVQTEFDRV9HRVRHUk9VUFM9JzAnClJFUExBQ0VfR0VUTElORT0nMCcKUkVQ TEFDRV9HRVRMT0dJTl9SPScwJwpSRVBMQUNFX0dFVFBBR0VTSVpFPScwJwpSRVBMQUNFX0dFVFRJ TUVPRkRBWT0nMCcKUkVQTEFDRV9HTVRJTUU9JzAnClJFUExBQ0VfSVNBVFRZPScwJwpSRVBMQUNF X0xDSE9XTj0nMCcKUkVQTEFDRV9MSU5LPScwJwpSRVBMQUNFX0xJTktBVD0nMCcKUkVQTEFDRV9M T0NBTFRJTUU9JzAnClJFUExBQ0VfTE9DQUxUSU1FX1I9JzAnClJFUExBQ0VfTFNFRUs9JzAnClJF UExBQ0VfTFNUQVQ9JzEnClJFUExBQ0VfTUFMTE9DPScwJwpSRVBMQUNFX01CVE9XQz0nMCcKUkVQ TEFDRV9NRU1DSFI9JzAnClJFUExBQ0VfTUVNTUVNPScwJwpSRVBMQUNFX01LRElSPScwJwpSRVBM QUNFX01LRklGTz0nMCcKUkVQTEFDRV9NS05PRD0nMCcKUkVQTEFDRV9NS1NURU1QPScwJwpSRVBM QUNFX01LVElNRT0nMScKUkVQTEFDRV9OQU5PU0xFRVA9J0dOVUxJQl9QT1JUQ0hFQ0snClJFUExB Q0VfTlVMTD0nMCcKUkVQTEFDRV9PQlNUQUNLX1BSSU5URj0nMCcKUkVQTEFDRV9PUEVOPScwJwpS RVBMQUNFX09QRU5BVD0nMCcKUkVQTEFDRV9PUEVORElSPScwJwpSRVBMQUNFX1BFUlJPUj0nMCcK UkVQTEFDRV9QT1BFTj0nMCcKUkVQTEFDRV9QUkVBRD0nMCcKUkVQTEFDRV9QUklOVEY9JzAnClJF UExBQ0VfUFNFTEVDVD0nMCcKUkVQTEFDRV9QVEhSRUFEX1NJR01BU0s9JzEnClJFUExBQ0VfUFRT TkFNRT0nMCcKUkVQTEFDRV9QVFNOQU1FX1I9JzAnClJFUExBQ0VfUFVURU5WPScxJwpSRVBMQUNF X1BXUklURT0nMCcKUkVQTEFDRV9SQUlTRT0nMCcKUkVQTEFDRV9SQU5ET01fUj0nMCcKUkVQTEFD RV9SRUFEPScwJwpSRVBMQUNFX1JFQURMSU5LPScxJwpSRVBMQUNFX1JFQUxMT0M9JzAnClJFUExB Q0VfUkVBTFBBVEg9JzAnClJFUExBQ0VfUkVNT1ZFPScwJwpSRVBMQUNFX1JFTkFNRT0nMCcKUkVQ TEFDRV9SRU5BTUVBVD0nMCcKUkVQTEFDRV9STURJUj0nMCcKUkVQTEFDRV9TRUxFQ1Q9JzAnClJF UExBQ0VfU0VURU5WPScwJwpSRVBMQUNFX1NMRUVQPScwJwpSRVBMQUNFX1NOUFJJTlRGPScwJwpS RVBMQUNFX1NQUklOVEY9JzAnClJFUExBQ0VfU1RBVD0nMScKUkVQTEFDRV9TVERJT19SRUFEX0ZV TkNTPScwJwpSRVBMQUNFX1NURElPX1dSSVRFX0ZVTkNTPScwJwpSRVBMQUNFX1NUUE5DUFk9JzAn ClJFUExBQ0VfU1RSQ0FTRVNUUj0nMCcKUkVQTEFDRV9TVFJDSFJOVUw9JzAnClJFUExBQ0VfU1RS RFVQPScwJwpSRVBMQUNFX1NUUkVSUk9SPScwJwpSRVBMQUNFX1NUUkVSUk9SX1I9JzAnClJFUExB Q0VfU1RSTkNBVD0nMCcKUkVQTEFDRV9TVFJORFVQPScwJwpSRVBMQUNFX1NUUk5MRU49JzAnClJF UExBQ0VfU1RSU0lHTkFMPScwJwpSRVBMQUNFX1NUUlNUUj0nMCcKUkVQTEFDRV9TVFJUT0Q9JzAn ClJFUExBQ0VfU1RSVE9JTUFYPScwJwpSRVBMQUNFX1NUUlRPS19SPScwJwpSRVBMQUNFX1NUUlRP VU1BWD0nMCcKUkVQTEFDRV9TVFJVQ1RfVElNRVZBTD0nMCcKUkVQTEFDRV9TWU1MSU5LPScxJwpS RVBMQUNFX1RJTUVHTT0nR05VTElCX1BPUlRDSEVDSycKUkVQTEFDRV9UTVBGSUxFPScwJwpSRVBM QUNFX1RUWU5BTUVfUj0nMCcKUkVQTEFDRV9VTkxJTks9JzAnClJFUExBQ0VfVU5MSU5LQVQ9JzAn ClJFUExBQ0VfVU5TRVRFTlY9JzAnClJFUExBQ0VfVVNMRUVQPScwJwpSRVBMQUNFX1VUSU1FTlNB VD0nMCcKUkVQTEFDRV9WQVNQUklOVEY9JzAnClJFUExBQ0VfVkRQUklOVEY9JzAnClJFUExBQ0Vf VkZQUklOVEY9JzAnClJFUExBQ0VfVlBSSU5URj0nMCcKUkVQTEFDRV9WU05QUklOVEY9JzAnClJF UExBQ0VfVlNQUklOVEY9JzAnClJFUExBQ0VfV0NUT01CPScwJwpSRVBMQUNFX1dSSVRFPScwJwpS U1ZHX0NGTEFHUz0nJwpSU1ZHX0xJQlM9JycKU0VQQ0hBUj0nOicKU0VURkFUVFI9JycKU0VUVElO R1NfQ0ZMQUdTPScnClNFVFRJTkdTX0xJQlM9JycKU0VUX01BS0U9JycKU0hFTEw9Jy9iaW4vc2gn ClNJR19BVE9NSUNfVF9TVUZGSVg9JycKU0laRV9UX1NVRkZJWD0nJwpTVERBTElHTl9IPSdzdGRh bGlnbi5oJwpTVERBUkdfSD0nJwpTVERCT09MX0g9JycKU1REREVGX0g9JycKU1RESU5UX0g9JycK U1RSSVA9JycKU1VCRElSX01BS0VGSUxFU19JTj0nICQoc3JjZGlyKS9saWIvTWFrZWZpbGUuaW4g JChzcmNkaXIpL2xpYi1zcmMvTWFrZWZpbGUuaW4gJChzcmNkaXIpL29sZFhNZW51L01ha2VmaWxl LmluICQoc3JjZGlyKS9kb2MvZW1hY3MvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2RvYy9taXNjL01h a2VmaWxlLmluICQoc3JjZGlyKS9kb2MvbGlzcGludHJvL01ha2VmaWxlLmluICQoc3JjZGlyKS9k b2MvbGlzcHJlZi9NYWtlZmlsZS5pbiAkKHNyY2Rpcikvc3JjL01ha2VmaWxlLmluICQoc3JjZGly KS9sd2xpYi9NYWtlZmlsZS5pbiAkKHNyY2RpcikvbGlzcC9NYWtlZmlsZS5pbiAkKHNyY2Rpcikv bGVpbS9NYWtlZmlsZS5pbiAkKHNyY2RpcikvbmV4dHN0ZXAvTWFrZWZpbGUuaW4gJChzcmNkaXIp L250L01ha2VmaWxlLmluICQoc3JjZGlyKS9hZG1pbi91bmlkYXRhL01ha2VmaWxlLmluICQoc3Jj ZGlyKS9hZG1pbi9ncmFtbWFycy9NYWtlZmlsZS5pbicKU1lTX1RJTUVfSF9ERUZJTkVTX1NUUlVD VF9USU1FU1BFQz0nMCcKVEVNQUNTX1BPU1RfTElOSz0nOicKVEVSTUNBUF9PQko9J3Rlcm1pbmZv Lm8nClRJTUVfSF9ERUZJTkVTX1NUUlVDVF9USU1FU1BFQz0nMScKVE9PTEtJVF9MSUJXPSctbFhh dycKVUlOVDMyX01BWF9MVF9VSU5UTUFYX01BWD0nMScKVUlOVDY0X01BWF9FUV9VTE9OR19NQVg9 J2RlZmluZWQgX0xQNjQnClVOREVGSU5FX1NUUlRPS19SPScwJwpVTkVYRUNfT0JKPSd1bmV4YWl4 Lm8nClVOSVNURF9IX0hBVkVfV0lOU09DSzJfSD0nMCcKVU5JU1REX0hfSEFWRV9XSU5TT0NLMl9I X0FORF9VU0VfU09DS0VUUz0nMCcKVVBEQVRFX01BTklGRVNUPScnClVTRV9BQ0w9JzEnClZFUlNJ T049JzI0LjMuOTEnClZNTElNSVRfT0JKPSd2bS1saW1pdC5vJwpXMzJfTElCUz0nJwpXMzJfT0JK PScnClczMl9SRVNfTElOSz0nJwpXQVJOX0NGTEFHUz0nJwpXQ0hBUl9UX1NVRkZJWD0nJwpXRVJS T1JfQ0ZMQUdTPScnCldJREdFVF9PQko9J3dpZGdldC5vJwpXSU5ET1dTXzY0X0JJVF9PRkZfVD0n MCcKV0lORE9XU182NF9CSVRfU1RfU0laRT0nMCcKV0lORE9XX1NZU1RFTV9PQko9J2ZvbnRzZXQu byBmcmluZ2UubyBpbWFnZS5vJwpXSU5EUkVTPScnCldJTlRfVF9TVUZGSVg9JycKWEFSR1NfTElN SVQ9JycKWENSVU49JycKWEZUX0NGTEFHUz0nJwpYRlRfTElCUz0nJwpYR1NFTE9CSj0nJwpYSU5F UkFNQV9DRkxBR1M9JycKWElORVJBTUFfTElCUz0nJwpYTUVOVV9PQko9J3htZW51Lm8nClhNS01G PScnClhPQko9J3h0ZXJtLm8geGZucy5vIHhzZWxlY3QubyB4cmRiLm8geHNtZm5zLm8geHNldHRp bmdzLm8nClhSQU5EUl9DRkxBR1M9JycKWFJBTkRSX0xJQlM9JycKWF9UT09MS0lUX1RZUEU9J0xV Q0lEJwphY19jdF9DQz0nJwphbV9fRVhFRVhUX0ZBTFNFPScnCmFtX19FWEVFWFRfVFJVRT0nIycK YW1fX2Zhc3RkZXBDQ19GQUxTRT0nIycKYW1fX2Zhc3RkZXBDQ19UUlVFPScnCmFtX19pbmNsdWRl PSdpbmNsdWRlJwphbV9faXNyYz0nJwphbV9fbGVhZGluZ19kb3Q9Jy4nCmFtX19ub2RlcD0nX25v JwphbV9fcXVvdGU9JycKYW1fX3Rhcj0nJCR7VEFSLXRhcn0gY2hvZiAtICIkJHRhcmRpciInCmFt X191bnRhcj0nJCR7VEFSLXRhcn0geGYgLScKYXJjaGxpYmRpcj0nJHtsaWJleGVjZGlyfS9lbWFj cy8ke3ZlcnNpb259LyR7Y29uZmlndXJhdGlvbn0nCmJpbmRpcj0nJHtleGVjX3ByZWZpeH0vYmlu JwpiaXRtYXBkaXI9Jy91c3IvaW5jbHVkZS9YMTEvYml0bWFwcycKYnVpbGQ9J3Bvd2VycGMtaWJt LWFpeDYuMS4wLjAnCmJ1aWxkX2FsaWFzPScnCmJ1aWxkX2NwdT0ncG93ZXJwYycKYnVpbGRfb3M9 J2FpeDYuMS4wLjAnCmJ1aWxkX3ZlbmRvcj0naWJtJwpjYWNoZV9maWxlPScvZGV2L251bGwnCmNh bm9uaWNhbD0ncG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCcKY29uZmlndXJhdGlvbj0ncG93ZXJwYy1p Ym0tYWl4Ni4xLjAuMCcKY29weXJpZ2h0PSdDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuJwpkYXRhZGlyPScke2RhdGFyb290ZGlyfScKZGF0YXJvb3RkaXI9 JyR7cHJlZml4fS9zaGFyZScKZG9jZGlyPScke2RhdGFyb290ZGlyfS9kb2MvJHtQQUNLQUdFX1RB Uk5BTUV9JwpkdmlkaXI9JyR7ZG9jZGlyfScKZXRjZGlyPScke2RhdGFkaXJ9L2VtYWNzLyR7dmVy c2lvbn0vZXRjJwpldGNkb2NkaXI9JyR7ZGF0YWRpcn0vZW1hY3MvJHt2ZXJzaW9ufS9ldGMnCmV4 ZWNfcHJlZml4PSc8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEnCmdhbWVkaXI9JyR7bG9jYWxzdGF0 ZWRpcn0vZ2FtZXMvZW1hY3MnCmdhbWV1c2VyPSdnYW1lcycKZ2xfR05VTElCX0VOQUJMRURfMDNl MGFhYWQ0Y2I4OWNhNzU3NjUzYmQzNjdhNmNjYjdfRkFMU0U9JyMnCmdsX0dOVUxJQl9FTkFCTEVE XzAzZTBhYWFkNGNiODljYTc1NzY1M2JkMzY3YTZjY2I3X1RSVUU9JycKZ2xfR05VTElCX0VOQUJM RURfMjYwOTQxYzBlNWRjNjdlYzllODdkMWZiMzIxYzMwMGJfRkFMU0U9JyMnCmdsX0dOVUxJQl9F TkFCTEVEXzI2MDk0MWMwZTVkYzY3ZWM5ZTg3ZDFmYjMyMWMzMDBiX1RSVUU9JycKZ2xfR05VTElC X0VOQUJMRURfNjA5OWU5NzM3Zjc1N2RiMzZjNDdmYTlkOWYwMmU4OGNfRkFMU0U9JyMnCmdsX0dO VUxJQl9FTkFCTEVEXzYwOTllOTczN2Y3NTdkYjM2YzQ3ZmE5ZDlmMDJlODhjX1RSVUU9JycKZ2xf R05VTElCX0VOQUJMRURfNjgyZTYwOTYwNGNjYWFjNmJlMzgyZTRlZTNhNGVhZWNfRkFMU0U9JyMn CmdsX0dOVUxJQl9FTkFCTEVEXzY4MmU2MDk2MDRjY2FhYzZiZTM4MmU0ZWUzYTRlYWVjX1RSVUU9 JycKZ2xfR05VTElCX0VOQUJMRURfYTk3ODY4NTBlOTk5YWU2NWE4MzZhNjA0MWU4ZTVlZDFfRkFM U0U9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX2E5Nzg2ODUwZTk5OWFlNjVhODM2YTYwNDFlOGU1ZWQx X1RSVUU9JycKZ2xfR05VTElCX0VOQUJMRURfYmU0NTNjZWM1ZWVjZjU3MzFhMjc0ZjJkZTdmMmRi MzZfRkFMU0U9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX2JlNDUzY2VjNWVlY2Y1NzMxYTI3NGYyZGU3 ZjJkYjM2X1RSVUU9JycKZ2xfR05VTElCX0VOQUJMRURfZG9zbmFtZV9GQUxTRT0nIycKZ2xfR05V TElCX0VOQUJMRURfZG9zbmFtZV9UUlVFPScnCmdsX0dOVUxJQl9FTkFCTEVEX2V1aWRhY2Nlc3Nf RkFMU0U9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX2V1aWRhY2Nlc3NfVFJVRT0nJwpnbF9HTlVMSUJf RU5BQkxFRF9nZXRkdGFibGVzaXplX0ZBTFNFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF9nZXRkdGFi bGVzaXplX1RSVUU9JycKZ2xfR05VTElCX0VOQUJMRURfZ2V0Z3JvdXBzX0ZBTFNFPScjJwpnbF9H TlVMSUJfRU5BQkxFRF9nZXRncm91cHNfVFJVRT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9wYXRobWF4 X0ZBTFNFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF9wYXRobWF4X1RSVUU9JycKZ2xfR05VTElCX0VO QUJMRURfc2VjdXJlX2dldGVudl9GQUxTRT0nIycKZ2xfR05VTElCX0VOQUJMRURfc2VjdXJlX2dl dGVudl9UUlVFPScnCmdsX0dOVUxJQl9FTkFCTEVEX3N0YXRfRkFMU0U9JyMnCmdsX0dOVUxJQl9F TkFCTEVEX3N0YXRfVFJVRT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9zdHJ0b2xsX0ZBTFNFPScnCmds X0dOVUxJQl9FTkFCTEVEX3N0cnRvbGxfVFJVRT0nIycKZ2xfR05VTElCX0VOQUJMRURfc3RydG91 bGxfRkFMU0U9JycKZ2xfR05VTElCX0VOQUJMRURfc3RydG91bGxfVFJVRT0nIycKZ2xfR05VTElC X0VOQUJMRURfdGVtcG5hbWVfRkFMU0U9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX3RlbXBuYW1lX1RS VUU9JycKZ2xfTElCT0JKUz0nIGV1aWRhY2Nlc3MubyBleGVjaW5mby5vIGZhY2Nlc3NhdC5vIGZj bnRsLm8gZmRvcGVuZGlyLm8gZnBlbmRpbmcubyBmc3RhdGF0Lm8gZ2V0bG9hZGF2Zy5vIGdldG9w dC5vIGdldG9wdDEubyBncm91cC1tZW1iZXIubyBsc3RhdC5vIG1lbXJjaHIubyBta29zdGVtcC5v IG1rdGltZS5vIG9wZW5hdC1wcm9jLm8gcHRocmVhZF9zaWdtYXNrLm8gcHV0ZW52Lm8gcmVhZGxp bmsubyByZWFkbGlua2F0Lm8gc2VjdXJlX2dldGVudi5vIHNpZzJzdHIubyBzdGF0Lm8gc3ltbGlu ay5vJwpnbF9MVExJQk9CSlM9JyBldWlkYWNjZXNzLmxvIGV4ZWNpbmZvLmxvIGZhY2Nlc3NhdC5s byBmY250bC5sbyBmZG9wZW5kaXIubG8gZnBlbmRpbmcubG8gZnN0YXRhdC5sbyBnZXRsb2FkYXZn LmxvIGdldG9wdC5sbyBnZXRvcHQxLmxvIGdyb3VwLW1lbWJlci5sbyBsc3RhdC5sbyBtZW1yY2hy LmxvIG1rb3N0ZW1wLmxvIG1rdGltZS5sbyBvcGVuYXQtcHJvYy5sbyBwdGhyZWFkX3NpZ21hc2su bG8gcHV0ZW52LmxvIHJlYWRsaW5rLmxvIHJlYWRsaW5rYXQubG8gc2VjdXJlX2dldGVudi5sbyBz aWcyc3RyLmxvIHN0YXQubG8gc3ltbGluay5sbycKZ2x0ZXN0c19MSUJPQkpTPScnCmdsdGVzdHNf TFRMSUJPQkpTPScnCmdsdGVzdHNfV0lUTkVTUz0nSU5fRU1BQ1NfR05VTElCX1RFU1RTJwpob3N0 PSdwb3dlcnBjLWlibS1haXg2LjEuMC4wJwpob3N0X2FsaWFzPScnCmhvc3RfY3B1PSdwb3dlcnBj Jwpob3N0X29zPSdhaXg2LjEuMC4wJwpob3N0X3ZlbmRvcj0naWJtJwpodG1sZGlyPScke2RvY2Rp cn0nCmluY2x1ZGVkaXI9JyR7cHJlZml4fS9pbmNsdWRlJwppbmZvZGlyPScke2RhdGFyb290ZGly fS9pbmZvJwppbnN0YWxsX3NoPScke1NIRUxMfSA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEv ZW1hY3MtMjQuMy45MS9idWlsZC1hdXgvaW5zdGFsbC1zaCcKbGliZGlyPScke2V4ZWNfcHJlZml4 fS9saWInCmxpYmV4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMnCmxpYmxvY2tmaWxlPSdu bycKbGlzcGRpcj0nJHtkYXRhZGlyfS9lbWFjcy8ke3ZlcnNpb259L2xpc3AnCmxpc3BwYXRoPSck e2xvY2FsbGlzcHBhdGh9OiR7c3RhbmRhcmRsaXNwcGF0aH0nCmxvY2FsZWRpcj0nJHtkYXRhcm9v dGRpcn0vbG9jYWxlJwpsb2NhbGxpc3BwYXRoPSc8TE9DQUxMSVNQUEFUSD4nCmxvY2Fsc3RhdGVk aXI9JzxMT0NBTFNUQVRFRElSPicKbWFuZGlyPScke2RhdGFyb290ZGlyfS9tYW4nCm1rZGlyX3A9 JyQoTUtESVJfUCknCm5zX2FwcGJpbmRpcj0nJwpuc19hcHBkaXI9JycKbnNfYXBwcmVzZGlyPScn Cm5zX2FwcHNyYz0nJwpuc19jaGVja19maWxlPScnCm5zX3NlbGZfY29udGFpbmVkPSdubycKb2xk aW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpwZGZkaXI9JyR7ZG9jZGlyfScKcHJlZml4PSc8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEnCnByb2dyYW1fdHJhbnNmb3JtX25hbWU9J3MseCx4LCcKcHNk aXI9JyR7ZG9jZGlyfScKc2JpbmRpcj0nJHtleGVjX3ByZWZpeH0vc2JpbicKc2hhcmVkc3RhdGVk aXI9JyR7cHJlZml4fS9jb20nCnNyY2Rpcj0nLicKc3RhbmRhcmRsaXNwcGF0aD0nJHtsaXNwZGly fScKc3lzY29uZmRpcj0nPEVUQ0RJUj4nCnRhcmdldF9hbGlhcz0nJwp2ZXJzaW9uPScyNC4zLjkx Jwp4X2RlZmF1bHRfc2VhcmNoX3BhdGg9Jy91c3Ivc2hhcmUvWDExLyVMLyVULyVOJUMlUzovdXNy L3NoYXJlL1gxMS8lbC8lVC8lTiVDJVM6L3Vzci9zaGFyZS9YMTEvJVQvJU4lQyVTOi91c3Ivc2hh cmUvWDExLyVMLyVULyVOJVM6L3Vzci9zaGFyZS9YMTEvJWwvJVQvJU4lUzovdXNyL3NoYXJlL1gx MS8lVC8lTiVTOi91c3IvbGliL1gxMS8lTC8lVC8lTiVDJVM6L3Vzci9saWIvWDExLyVsLyVULyVO JUMlUzovdXNyL2xpYi9YMTEvJVQvJU4lQyVTOi91c3IvbGliL1gxMS8lTC8lVC8lTiVTOi91c3Iv bGliL1gxMS8lbC8lVC8lTiVTOi91c3IvbGliL1gxMS8lVC8lTiVTJwoKIyMgLS0tLS0tLS0tLS0t LS0tLS0tLSAjIwojIyBGaWxlIHN1YnN0aXR1dGlvbnMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0t LS0gIyMKCmRlcHNfZnJhZz0nLi9zcmMvYXV0b2RlcHMubWsnCmxpc3BfZnJhZz0nLi9zcmMvbGlz cC5taycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0t ICMjCgovKiBjb25mZGVmcy5oICovCiNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgojZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45 MSIKI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MSIKI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiIgojZGVmaW5lIFBBQ0tBR0VfVVJMICIiCiNkZWZpbmUgUEFDS0FHRSAiZW1h Y3MiCiNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MSIKI2RlZmluZSBTVERDX0hFQURFUlMgMQojZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CiNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUg X19FWFRFTlNJT05TX18gMQojZGVmaW5lIF9BTExfU09VUkNFIDEKI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKI2RlZmluZSBfR05VX1NPVVJDRSAxCiNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCiNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEK I2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQojZGVmaW5lIFNZU1RFTV9UWVBFICJh aXgiCiNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVVRTTkFN RV9IIDEKI2RlZmluZSBIQVZFX1BXRF9IIDEKI2RlZmluZSBIQVZFX1VUTVBfSCAxCiNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQojZGVmaW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhBVkVf VU5JU1REX0ggMQojZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQojZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQojZGVmaW5lIEhBVkVfV0NIQVJfSCAxCiNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZU19T RUxFQ1RfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKI2RlZmluZSBIQVZFX1VUSU1FX0gg MQojZGVmaW5lIEhBVkVfVEVSTV9IIDEKI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQojZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCiNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJ U1QgMAojZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCiNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCiNk ZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFJfU0FfTEVOIDEKI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCiNkZWZpbmUgSEFW RV9TWVNfVkxJTUlUX0ggMQojZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQojZGVmaW5lIEhBVkVf TU1BUCAxCiNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNF IDEKI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCiNkZWZpbmUgSEFWRV9YU0NS RUVOTlVNQkVST0ZTQ1JFRU4gMQojZGVmaW5lIEhBVkVfWDExUjYgMQojZGVmaW5lIEhBVkVfWF9J MThOIDEKI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCiNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKI2Rl ZmluZSBIQVZFX0xJQlhNVSAxCiNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKI2RlZmluZSBIQVZFX1hJ TSAxCiNkZWZpbmUgVVNFX1hJTSAxCiNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxi YWNrX2FyZzYgWFBvaW50ZXIKI2RlZmluZSBIQVZFX1hQTSAxCiNkZWZpbmUgSEFWRV9KUEVHIDEK I2RlZmluZSBIQVZFX0pQRUcgMQojZGVmaW5lIEhBVkVfUE5HX0ggMQojZGVmaW5lIEhBVkVfUE5H IDEKI2RlZmluZSBIQVZFX1pMSUIgMQojZGVmaW5lIEhBVkVfVElGRiAxCiNkZWZpbmUgSEFWRV9Y X1NNIDEKI2RlZmluZSBIQVZFX0hfRVJSTk8gMQojZGVmaW5lIEhBVkVfTElCTSAxCiNkZWZpbmUg TUFJTF9VU0VfTE9DS0YgMQojZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQojZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKI2RlZmluZSBI QVZFX0xSQU5ENDggMQojZGVmaW5lIEhBVkVfU0VMRUNUIDEKI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCiNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQoj ZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKI2RlZmluZSBI QVZFX0dFVEFERFJJTkZPIDEKI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCiNkZWZpbmUgSEFWRV9T RVRJVElNRVIgMQojZGVmaW5lIEhBVkVfU0VORFRPIDEKI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEK I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCiNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKI2RlZmluZSBI QVZFX0dFVERFTElNIDEKI2RlZmluZSBIQVZFX1NZTkMgMQojZGVmaW5lIEhBVkVfR0VUUFdFTlQg MQojZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQojZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQojZGVmaW5l IEhBVkVfRU5ER1JFTlQgMQojZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQojZGVmaW5lIEhBVkVfQ09QWVNJR04gMQojZGVmaW5lIEhBVkVfTE9HMiAxCiNk ZWZpbmUgSEFWRV9SQU5ET00gMQojZGVmaW5lIEhBVkVfUklOVCAxCiNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fVU5XSU5EX0lOSVQgMQojZGVmaW5lIEhBVkVfRlNFRUtPIDEKI2RlZmluZSBIQVZFX0dS QU5UUFQgMQojZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKI2RlZmluZSBURVJNSU5GTyAxCiNk ZWZpbmUgSEFWRV9SRVNfSU5JVCAxCiNkZWZpbmUgSEFWRV9UWlNFVCAxCiNkZWZpbmUgSEFWRV9G Q05UTCAxCiNkZWZpbmUgSEFWRV9GU1lOQyAxCiNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQoj ZGVmaW5lIEhBVkVfTFNUQVQgMQojZGVmaW5lIEhBVkVfUFNFTEVDVCAxCiNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQojZGVmaW5lIEhBVkVfRkNITU9EIDEKI2RlZmluZSBIQVZFX1JFQURM SU5LIDEKI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCiNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQoj ZGVmaW5lIEhBVkVfU1lNTElOSyAxCiNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCiNkZWZpbmUg SEFWRV9HRVREVEFCTEVTSVpFIDEKI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQojZGVmaW5lIEhB VkVfSU5FVF9TT0NLRVRTIDEKI2RlZmluZSBIQVZFX0ZPUksgMQojZGVmaW5lIEhBVkVfVkZPUksg MQojZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCiNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg MQojZGVmaW5lIEhBVkVfU05QUklOVEYgMQojZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAx CiNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQojZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJp Y3QKI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04g MQojZGVmaW5lIEhBVkVfUFRZUyAxCiNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKI2RlZmluZSBOVUxM X0RFVklDRSAiL2Rldi9udWxsIgojZGVmaW5lIFNFUENIQVIgJzonCiNkZWZpbmUgc3VicHJvY2Vz c2VzIDEKI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKI2RlZmluZSBESVJFQ1RP UllfU0VQICcvJwojZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCiNkZWZpbmUgSVNfRElSRUNU T1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQojZGVmaW5lIElTX0FOWV9TRVAo X2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRf RElSX05BTUUgMQojZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKI2RlZmlu ZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKI2RlZmluZSBQVFlf TkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwojZGVmaW5lIFBUWV9U VFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CiNkZWZpbmUg U0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCiNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAw CiNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKI2RlZmluZSBIQVZFX19TRVRKTVAgMQojZGVmaW5l IFVTRyAvKiovCiNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgojZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgojZGVm aW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCiNkZWZpbmUg RU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAt LWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJ Uj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQta2VyYmVyb3MgLS13 aXRob3V0LXBvcCAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0td2l0aG91dC1zb3VuZCAtLXdpdGhv dXQta2VyYmVyb3MgLS13aXRob3V0LWtlcmJlcm9zNSAtLXdpdGgtZ2lmPW5vIC0td2l0aC14cG0g LS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMgLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9D QUxMSVNQUEFUSD4gLS13aXRob3V0LW1ha2VpbmZvIENGTEFHUz0tTzMgJ0NQUEZMQUdTPSAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliJyIKI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCiNkZWZpbmUgVVNFX1hf VE9PTEtJVCAxCiNkZWZpbmUgVVNFX0xVQ0lEIDEKI2RlZmluZSBIQVZFX1gxMSAxCiNkZWZpbmUg R05VX01BTExPQyAxCiNkZWZpbmUgUkVMX0FMTE9DIDEKI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEK I2RlZmluZSBIQVZFX0FMTE9DQSAxCiNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5U IDEKI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQojZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQoj ZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEK I2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCiNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8K I2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CiNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCiNk ZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKI2RlZmluZSBI QVZFX19CT09MIDEKI2RlZmluZSBIQVZFX1dDSEFSX1QgMQojZGVmaW5lIEhBVkVfREVDTF9UWk5B TUUgMQojZGVmaW5lIEhBVkVfVFpOQU1FIDEKI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEK I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYg MQojZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQojZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1C VUYgMQojZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CiNkZWZpbmUgSEFWRV9BTExPQ0EgMQojZGVm aW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCiNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKI2Rl ZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKI2RlZmluZSBIQVZFX0RVUDIgMQojZGVmaW5lIEhB VkVfQUNDRVNTIDEKI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKI2RlZmluZSBIQVZFX0RFQ0xf RkRPUEVORElSIDAKI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKI2RlZmluZSBQRU5ESU5HX09V VFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCiNkZWZpbmUgSEFWRV9MSUJQRVJGU1RB VCAxCiNkZWZpbmUgSEFWRV9OTElTVF9IIDEKI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCiNkZWZp bmUgX19HRVRPUFRfUFJFRklYIHJwbF8KI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9p ZAojZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCiNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sg MQojZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCiNk ZWZpbmUgSEFWRV9BQ0xYX0dFVCAxCiNkZWZpbmUgSEFWRV9TVEFUQUNMIDEKI2RlZmluZSBVU0Vf QUNMIDEKI2RlZmluZSBHTlVMSUJfRlNDQU5GIDEKI2RlZmluZSBHTlVMSUJfU0NBTkYgMQojZGVm aW5lIG15X3N0cmZ0aW1lIG5zdHJmdGltZQojZGVmaW5lIEhBVkVfREVDTF9MT0NBTFRJTUVfUiAx CiNkZWZpbmUgSEFWRV9USU1FUl9TRVRUSU1FIDEKI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKI2Rl ZmluZSBIQVZFX0xJQkdFTl9IIDEKI2RlZmluZSBIQVZFX0dFVEdST1VQUyAxCiNkZWZpbmUgSEFW RV9HRVRHUk9VUFMgMQojZGVmaW5lIFJFUExBQ0VfRlVOQ19TVEFUX0ZJTEUgMQojZGVmaW5lIEhB VkVfV0lORE9XX1NZU1RFTSAxCgpjb25maWd1cmU6IGV4aXQgMAo= --001a11c13f449f62c204f9e72786 Content-Type: application/octet-stream; name="anonymized-make.log" Content-Disposition: attachment; filename="anonymized-make.log" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hvgj8po11 Q1dEPTxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MSAoPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4z LjkxKQpbIC1yICJzcmMvY29uZmlnLmluIiBdIHx8ICggY2QgLiAmJiBhdXRvaGVhZGVyICkKY2Qg bGliICYmIC9iaW4vZ21ha2UgYWxsICAgICAgICAgICAgICAgICAgICAgICAgICBcCgkgIENDPSc8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5JyBDRkxBR1M9Jy1PMycgQ1BQRkxB R1M9Jy1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnIFwKCSAgTERGTEFHUz0nLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAnIE1BS0U9Jy9iaW4vZ21h a2UnCmdtYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYDxIT01FRElSPi9zcmMvZW1hY3MvMjQu My45MS9lbWFjcy0yNC4zLjkxL2xpYicKL2Jpbi9nbWFrZSAgYWxsLWFtCmdtYWtlWzJdOiBFbnRl cmluZyBkaXJlY3RvcnkgYDxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MS9lbWFjcy0yNC4zLjkx L2xpYicKZ21ha2VbMl06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCmdtYWtlWzJd OiBMZWF2aW5nIGRpcmVjdG9yeSBgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkxL2VtYWNzLTI0 LjMuOTEvbGliJwpnbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYDxIT01FRElSPi9zcmMvZW1h Y3MvMjQuMy45MS9lbWFjcy0yNC4zLjkxL2xpYicKY2QgbGliLXNyYyAmJiAvYmluL2dtYWtlIGFs bCAgICAgICAgICAgICAgICAgICAgICAgICAgXAoJICBDQz0nPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OScgQ0ZMQUdTPSctTzMnIENQUEZMQUdTPSctSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlJyBcCgkgIExERkxBR1M9Jy1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiAtV2wsLWJiaWd0b2MgJyBNQUtFPScvYmluL2dtYWtlJwpnbWFrZVsxXTogRW50ZXJp bmcgZGlyZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9s aWItc3JjJwpnbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsJy4KZ21ha2VbMV06 IExlYXZpbmcgZGlyZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQu My45MS9saWItc3JjJwpkaXJzdGF0ZT0nLmJ6ci9jaGVja291dC9kaXJzdGF0ZSc7CQkJCVwKCXZj c3dpdG5lc3M9JyQoc3JjZGlyKS8uLi8nJGRpcnN0YXRlOwkJCQlcCglbIC1yICIuLyRkaXJzdGF0 ZSIgXSB8fCB2Y3N3aXRuZXNzPScnOwkJCVwKCWNkIHNyYyB8fCBleGl0OwkJCQkJCQlcCglib290 PWJvb3RzdHJhcC1lbWFjczsJCQkJCVwKCVsgISAteCAiJGJvb3QiIF0gfHwgYm9vdD0nJzsJCQkJ CVwKCS9iaW4vZ21ha2UgYWxsIAkJCQkJCVwKCSAgQ0M9JzxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTknIENGTEFHUz0nLU8zJyBDUFBGTEFHUz0nLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvaW5jbHVkZScJCVwKCSAgTERGTEFHUz0nLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvbGliIC1XbCwtYmJpZ3RvYyAnIE1BS0U9Jy9iaW4vZ21ha2UnIEJPT1RTVFJBUEVNQUNTPSIk Ym9vdCIJXAoJICBWQ1NXSVRORVNTPSIkdmNzd2l0bmVzcyIKZ21ha2VbMV06IEVudGVyaW5nIGRp cmVjdG9yeSBgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkxL2VtYWNzLTI0LjMuOTEvc3JjJwpj ZCAuLi9sd2xpYiAmJiBcCgkgIC9iaW4vZ21ha2UgLXcgQ0M9JzxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTknIENGTEFHUz0nLU8zJyBNQUtFPScvYmluL2dtYWtlJyBcCgkgICAg bGlibHcuYQpnbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNz LzI0LjMuOTEvZW1hY3MtMjQuMy45MS9sd2xpYicKZ21ha2VbMl06IGBsaWJsdy5hJyBpcyB1cCB0 byBkYXRlLgpnbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYDxIT01FRElSPi9zcmMvZW1hY3Mv MjQuMy45MS9lbWFjcy0yNC4zLjkxL2x3bGliJwpjZCAuLi9hZG1pbi91bmlkYXRhICYmIC9iaW4v Z21ha2UgLXcgYWxsIEVNQUNTPSIuLi8uLi9zcmMvYm9vdHN0cmFwLWVtYWNzIgpnbWFrZVsyXTog RW50ZXJpbmcgZGlyZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQu My45MS9hZG1pbi91bmlkYXRhJwpnbWFrZVsyXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxs Jy4KZ21ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMu OTEvZW1hY3MtMjQuMy45MS9hZG1pbi91bmlkYXRhJwovb3B0L2ZyZWV3YXJlL2Jpbi9ta2RpciAt cCAuLi9ldGMKcm0gLWYgLi4vZXRjL0RPQwouLi9saWItc3JjL21ha2UtZG9jZmlsZSAtZCAuIGRv c2Zucy5vIG1zZG9zLm8geHRlcm0ubyB4Zm5zLm8geG1lbnUubyB4c2VsZWN0Lm8geHJkYi5vIHhz bWZucy5vIGZyaW5nZS5vIGltYWdlLm8gZm9udHNldC5vIGRidXNiaW5kLm8gY3lndzMyLm8gbnN0 ZXJtLm8gbnNmbnMubyBuc21lbnUubyBuc3NlbGVjdC5vIG5zaW1hZ2UubyBuc2ZvbnQubyBtYWNm b250Lm8gdzMyLm8gdzMyY29uc29sZS5vIHczMmZucy5vIHczMmhlYXAubyB3MzJpbmV2dC5vIHcz Mm5vdGlmeS5vIHczMm1lbnUubyB3MzJwcm9jLm8gdzMycmVnLm8gdzMyc2VsZWN0Lm8gdzMydGVy bS5vIHczMnhmbnMubyB3MTZzZWxlY3QubyB3aWRnZXQubyB4Zm9udC5vIGZ0Zm9udC5vIHhmdGZv bnQubyBmdHhmb250Lm8gZ3RrdXRpbC5vIHhzZXR0aW5ncy5vIHhnc2VsZWN0Lm8gdGVybWNhcC5v IGRpc3BuZXcubyBmcmFtZS5vIHNjcm9sbC5vIHhkaXNwLm8gbWVudS5vIHhtZW51Lm8gd2luZG93 Lm8gY2hhcnNldC5vIGNvZGluZy5vIGNhdGVnb3J5Lm8gY2NsLm8gY2hhcmFjdGVyLm8gY2hhcnRh Yi5vIGJpZGkubyBjbS5vIHRlcm0ubyB0ZXJtaW5hbC5vIHhmYWNlcy5vIHh0ZXJtLm8geGZucy5v IHhzZWxlY3QubyB4cmRiLm8geHNtZm5zLm8geHNldHRpbmdzLm8gICBlbWFjcy5vIGtleWJvYXJk Lm8gbWFjcm9zLm8ga2V5bWFwLm8gc3lzZGVwLm8gYnVmZmVyLm8gZmlsZWxvY2subyBpbnNkZWwu byBtYXJrZXIubyBtaW5pYnVmLm8gZmlsZWlvLm8gZGlyZWQubyBjbWRzLm8gY2FzZXRhYi5vIGNh c2VmaWRkbGUubyBpbmRlbnQubyBzZWFyY2gubyByZWdleC5vIHVuZG8ubyBhbGxvYy5vIGRhdGEu byBkb2MubyBlZGl0Zm5zLm8gY2FsbGludC5vIGV2YWwubyBmbG9hdGZucy5vIGZucy5vIGZvbnQu byBwcmludC5vIGxyZWFkLm8gc3ludGF4Lm8gdW5leGFpeC5vIGJ5dGVjb2RlLm8gcHJvY2Vzcy5v IGdudXRscy5vIGNhbGxwcm9jLm8gcmVnaW9uLWNhY2hlLm8gc291bmQubyBhdGltZXIubyBkb3By bnQubyBpbnRlcnZhbHMubyB0ZXh0cHJvcC5vIGNvbXBvc2l0ZS5vIHhtbC5vICBwcm9maWxlci5v IGRlY29tcHJlc3MubyAgICAgeGZvbnQubyAgZm9udHNldC5vIGZyaW5nZS5vIGltYWdlLm8gICA+ IC4uL2V0Yy9ET0MKLi4vbGliLXNyYy9tYWtlLWRvY2ZpbGUgLWEgLi4vZXRjL0RPQyAtZCAuLy4u L2xpc3AgYHNlZCAtbiAtZSAnc3wgXFxcXHx8JyAtZSAnc3xeWyAJXSokKGxpc3Bzb3VyY2UpL3x8 cCcgLi9saXNwLm1rYApjZCAuLi9sZWltICYmIC9iaW4vZ21ha2UgLXcgbGVpbS1saXN0LmVsIEVN QUNTPSIuLi9zcmMvYm9vdHN0cmFwLWVtYWNzIgpnbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5 IGA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9sZWltJwpFTUFDU0xP QURQQVRIPSAnLi4vc3JjL2Jvb3RzdHJhcC1lbWFjcycgLWJhdGNoIC0tbm8tc2l0ZS1maWxlIC0t bm8tc2l0ZS1saXNwIC1sIHRpdGRpYy1jbnYgXAoJICAtZiBiYXRjaC10aXRkaWMtY29udmVydCAt ZGlyIC4vLi4vbGlzcC9sZWltL3F1YWlsIC4vQ1hURVJNLURJQwpnbWFrZVsyXTogKioqIFtjaGFu Z2VkLnRpdF0gSWxsZWdhbCBpbnN0cnVjdGlvbgpnbWFrZVsyXTogTGVhdmluZyBkaXJlY3Rvcnkg YDxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MS9lbWFjcy0yNC4zLjkxL2xlaW0nCmdtYWtlWzFd OiAqKiogWy4uL2xpc3AvbGVpbS9sZWltLWxpc3QuZWxdIEVycm9yIDIKZ21ha2VbMV06IExlYXZp bmcgZGlyZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9z cmMnCmdtYWtlOiAqKiogW3NyY10gRXJyb3IgMgo= --001a11c13f449f62c204f9e72786-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 21 08:31:27 2014 Received: (at submit) by debbugs.gnu.org; 21 May 2014 12:31:27 +0000 Received: from localhost ([127.0.0.1]:55067 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wn5g6-0000Mw-LX for submit@debbugs.gnu.org; Wed, 21 May 2014 08:31:26 -0400 Received: from eggs.gnu.org ([208.118.235.92]:46172) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wn5g4-0000Mb-Fw for submit@debbugs.gnu.org; Wed, 21 May 2014 08:31:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wn5fy-0004Nb-LW for submit@debbugs.gnu.org; Wed, 21 May 2014 08:31:19 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:59078) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wn5fy-0004NX-I6 for submit@debbugs.gnu.org; Wed, 21 May 2014 08:31:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47868) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wn5fu-0002mF-QQ for bug-gnu-emacs@gnu.org; Wed, 21 May 2014 08:31:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wn5ft-0004LQ-85 for bug-gnu-emacs@gnu.org; Wed, 21 May 2014 08:31:14 -0400 Received: from mail-qg0-x233.google.com ([2607:f8b0:400d:c04::233]:64932) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wn5ft-0004LG-3u for bug-gnu-emacs@gnu.org; Wed, 21 May 2014 08:31:13 -0400 Received: by mail-qg0-f51.google.com with SMTP id q107so3013581qgd.24 for ; Wed, 21 May 2014 05:31:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:content-type; bh=CCIJ5x46YiA27adx1MjgizViMdUsoYWHkIvor0BxnUk=; b=dFFmeis9qIzBcNicildtg4yhTclQUQ2zh656QI6I1NrXBn9IorKDNst2NdU5Vn0qPr CT+m5Ff2HWzn6o+2chCMq1NsN/5rbm+ZOShT4KBgKs4rblGl2rZRzf0fNcCBQ5PMo3hK qpIoCtIkH7BKUZ/DuUhZxFJCbZA7TVudg/svuglI1fRz4pYa7qrUKEgUPywmII81oy78 MvwNuPCybC8RoN3Ks29oNilHUA9GErae8oYlEszh1VFgiou5k7dRJyusCfqYgeqiab+w A21Y0TEIQkArI+M7KMe0vLnQ0y8txT4Rw/17Z8rtT8fErgjYmRj/BuR9FnlYpSdyXR1m 9KCQ== X-Received: by 10.140.36.149 with SMTP id p21mr65889395qgp.54.1400675472563; Wed, 21 May 2014 05:31:12 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.130.7 with HTTP; Wed, 21 May 2014 05:30:52 -0700 (PDT) In-Reply-To: References: From: Gilles Pion Date: Wed, 21 May 2014 14:30:52 +0200 X-Google-Sender-Auth: sGZCqAYpSDJLYuJyqmalcdZWR8Q Message-ID: Subject: Re: AIX - gcc 7.8.2 - Emacs pretest 24.3.91 - bootstrap-emacs SIGSEV To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary=001a11c13f44fd0a2904f9e82bf6 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --001a11c13f44fd0a2904f9e82bf6 Content-Type: text/plain; charset=UTF-8 Tried to build emacs in 64bits mode this time different issue: the unexec fails Make log attached --001a11c13f44fd0a2904f9e82bf6 Content-Type: application/octet-stream; name="anonymized-make.64.log" Content-Disposition: attachment; filename="anonymized-make.64.log" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hvglzclu2 Q1dEPTxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MSAoPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4z LjkxKQpbIC1yICJzcmMvY29uZmlnLmluIiBdIHx8ICggY2QgLiAmJiBhdXRvaGVhZGVyICkKY2Qg bGliICYmIC9iaW4vZ21ha2UgYWxsICAgICAgICAgICAgICAgICAgICAgICAgICBcCgkgIENDPSc8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5JyBDRkxBR1M9Jy1PMyAgLW1haXg2 NCcgQ1BQRkxBR1M9Jy1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnIFwKCSAgTERG TEFHUz0nLVdsLC1iNjQgLW1haXg2NCAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVds LC1iYmlndG9jICcgTUFLRT0nL2Jpbi9nbWFrZScKZ21ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9y eSBgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkxL2VtYWNzLTI0LjMuOTEvbGliJwovYmluL2dt YWtlICBhbGwtYW0KZ21ha2VbMl06IEVudGVyaW5nIGRpcmVjdG9yeSBgPEhPTUVESVI+L3NyYy9l bWFjcy8yNC4zLjkxL2VtYWNzLTI0LjMuOTEvbGliJwpnbWFrZVsyXTogTm90aGluZyB0byBiZSBk b25lIGZvciBgYWxsLWFtJy4KZ21ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGA8SE9NRURJUj4v c3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9saWInCmdtYWtlWzFdOiBMZWF2aW5nIGRp cmVjdG9yeSBgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkxL2VtYWNzLTI0LjMuOTEvbGliJwpj ZCBsaWItc3JjICYmIC9iaW4vZ21ha2UgYWxsICAgICAgICAgICAgICAgICAgICAgICAgICBcCgkg IENDPSc8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5JyBDRkxBR1M9Jy1PMyAg LW1haXg2NCcgQ1BQRkxBR1M9Jy1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnIFwK CSAgTERGTEFHUz0nLVdsLC1iNjQgLW1haXg2NCAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9s aWIgLVdsLC1iYmlndG9jICcgTUFLRT0nL2Jpbi9nbWFrZScKZ21ha2VbMV06IEVudGVyaW5nIGRp cmVjdG9yeSBgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkxL2VtYWNzLTI0LjMuOTEvbGliLXNy YycKZ21ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbCcuCmdtYWtlWzFdOiBMZWF2 aW5nIGRpcmVjdG9yeSBgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkxL2VtYWNzLTI0LjMuOTEv bGliLXNyYycKZGlyc3RhdGU9Jy5ienIvY2hlY2tvdXQvZGlyc3RhdGUnOwkJCQlcCgl2Y3N3aXRu ZXNzPSckKHNyY2RpcikvLi4vJyRkaXJzdGF0ZTsJCQkJXAoJWyAtciAiLi8kZGlyc3RhdGUiIF0g fHwgdmNzd2l0bmVzcz0nJzsJCQlcCgljZCBzcmMgfHwgZXhpdDsJCQkJCQkJXAoJYm9vdD1ib290 c3RyYXAtZW1hY3M7CQkJCQlcCglbICEgLXggIiRib290IiBdIHx8IGJvb3Q9Jyc7CQkJCQlcCgkv YmluL2dtYWtlIGFsbCAJCQkJCQlcCgkgIENDPSc8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5JyBDRkxBR1M9Jy1PMyAgLW1haXg2NCcgQ1BQRkxBR1M9Jy1JPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2luY2x1ZGUnCQlcCgkgIExERkxBR1M9Jy1XbCwtYjY0IC1tYWl4NjQgLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAnIE1BS0U9Jy9iaW4vZ21h a2UnIEJPT1RTVFJBUEVNQUNTPSIkYm9vdCIJXAoJICBWQ1NXSVRORVNTPSIkdmNzd2l0bmVzcyIK Z21ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkx L2VtYWNzLTI0LjMuOTEvc3JjJwpjZCAuLi9sd2xpYiAmJiBcCgkgIC9iaW4vZ21ha2UgLXcgQ0M9 JzxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTknIENGTEFHUz0nLU8zICAtbWFp eDY0JyBNQUtFPScvYmluL2dtYWtlJyBcCgkgICAgbGlibHcuYQpnbWFrZVsyXTogRW50ZXJpbmcg ZGlyZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9sd2xp YicKZ21ha2VbMl06IGBsaWJsdy5hJyBpcyB1cCB0byBkYXRlLgpnbWFrZVsyXTogTGVhdmluZyBk aXJlY3RvcnkgYDxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MS9lbWFjcy0yNC4zLjkxL2x3bGli JwpjZCAuLi9saXNwOyAvYmluL2dtYWtlIC13IHVwZGF0ZS1zdWJkaXJzCmdtYWtlWzJdOiBFbnRl cmluZyBkaXJlY3RvcnkgYDxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MS9lbWFjcy0yNC4zLjkx L2xpc3AnCmZvciBmaWxlIGluIGBmaW5kIC4gLXR5cGUgZCAtcHJpbnRgOyBkbyBjYXNlICRmaWxl IGluIC4qL2NlZGV0KiB8IC4qL2xlaW0qICkgOzsgKikgd2lucz0iJHdpbnMke3dpbnM6KyB9JGZp bGUiIDs7IGVzYWM7IGRvbmU7IFwKCWZvciBmaWxlIGluICR3aW5zOyBkbyBcCgkgICAuLy4uL2J1 aWxkLWF1eC91cGRhdGUtc3ViZGlycyAkZmlsZTsgXAoJZG9uZTsKZ21ha2VbMl06IExlYXZpbmcg ZGlyZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9saXNw JwppZiB0ZXN0ICJubyIgPSAieWVzIjsgdGhlbiBcCgkgIHJtIC1mIGJvb3RzdHJhcC1lbWFjczsg XAoJICBsbiB0ZW1hY3MgYm9vdHN0cmFwLWVtYWNzOyBcCgllbHNlIFwKCSAgLi90ZW1hY3MgLS1i YXRjaCAtLWxvYWQgbG9hZHVwIGJvb3RzdHJhcCB8fCBleGl0IDE7IFwKCSAgdGVzdCAiWCIgPSBY IHx8ICAtemV4IGVtYWNzOyBcCgkgIG12IC1mIGVtYWNzIGJvb3RzdHJhcC1lbWFjczsgXAoJZmkK TG9hZGluZyBsb2FkdXAuZWwgKHNvdXJjZSkuLi4KVXNpbmcgbG9hZC1wYXRoICg8SE9NRURJUj4v c3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9saXNwIDxIT01FRElSPi9zcmMvZW1hY3Mv MjQuMy45MS9lbWFjcy0yNC4zLjkxL2xpc3AvZW1hY3MtbGlzcCA8SE9NRURJUj4vc3JjL2VtYWNz LzI0LjMuOTEvZW1hY3MtMjQuMy45MS9saXNwL2xhbmd1YWdlIDxIT01FRElSPi9zcmMvZW1hY3Mv MjQuMy45MS9lbWFjcy0yNC4zLjkxL2xpc3AvaW50ZXJuYXRpb25hbCA8SE9NRURJUj4vc3JjL2Vt YWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9saXNwL3RleHRtb2RlcyA8SE9NRURJUj4vc3JjL2Vt YWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9saXNwL3ZjKQpMb2FkaW5nIGVtYWNzLWxpc3AvYnl0 ZS1ydW4uLi4KTG9hZGluZyBlbWFjcy1saXNwL2JhY2txdW90ZS4uLgpMb2FkaW5nIHN1YnIuLi4K TG9hZGluZyB2ZXJzaW9uLi4uCkxvYWRpbmcgd2lkZ2V0Li4uCkxvYWRpbmcgY3VzdG9tLi4uCkxv YWRpbmcgZW1hY3MtbGlzcC9tYXAteW5wLi4uCkxvYWRpbmcgaW50ZXJuYXRpb25hbC9tdWxlLi4u CkxvYWRpbmcgaW50ZXJuYXRpb25hbC9tdWxlLWNvbmYuLi4KTG9hZGluZyBlbnYuLi4KTG9hZGlu ZyBmb3JtYXQuLi4KTG9hZGluZyBiaW5kaW5ncy4uLgpMb2FkaW5nIGN1cy1zdGFydC4uLgpMb2Fk aW5nIHdpbmRvdy4uLgpMb2FkaW5nIGZpbGVzLi4uCkxvYWRpbmcgZW1hY3MtbGlzcC9tYWNyb2V4 cC4uLgpMb2FkaW5nIGN1cy1mYWNlLi4uCkxvYWRpbmcgZmFjZXMuLi4KTG9hZGluZyBidXR0b24u Li4KTG9hZGluZyBzdGFydHVwLi4uCkxvYWRpbmcgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkx L2VtYWNzLTI0LjMuOTEvbGlzcC9sb2FkZGVmcy5lbCAoc291cmNlKS4uLgpMb2FkaW5nIGVtYWNz LWxpc3AvbmFkdmljZS4uLgpMb2FkaW5nIG1pbmlidWZmZXIuLi4KTG9hZGluZyBhYmJyZXYuLi4K TG9hZGluZyBzaW1wbGUuLi4KTG9hZGluZyBoZWxwLi4uCkxvYWRpbmcgamthLWNtcHItaG9vay4u LgpMb2FkaW5nIGVwYS1ob29rLi4uCkxvYWRpbmcgaW50ZXJuYXRpb25hbC9tdWxlLWNtZHMuLi4K TG9hZGluZyBjYXNlLXRhYmxlLi4uCkxvYWRpbmcgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkx L2VtYWNzLTI0LjMuOTEvbGlzcC9pbnRlcm5hdGlvbmFsL2NoYXJwcm9wLmVsIChzb3VyY2UpLi4u CkxvYWRpbmcgaW50ZXJuYXRpb25hbC9jaGFyYWN0ZXJzLi4uCkxvYWRpbmcgY29tcG9zaXRlLi4u CkxvYWRpbmcgbGFuZ3VhZ2UvY2hpbmVzZS4uLgpMb2FkaW5nIGxhbmd1YWdlL2N5cmlsbGljLi4u CkxvYWRpbmcgbGFuZ3VhZ2UvaW5kaWFuLi4uCkxvYWRpbmcgbGFuZ3VhZ2Uvc2luaGFsYS4uLgpM b2FkaW5nIGxhbmd1YWdlL2VuZ2xpc2guLi4KTG9hZGluZyBsYW5ndWFnZS9ldGhpb3BpYy4uLgpM b2FkaW5nIGxhbmd1YWdlL2V1cm9wZWFuLi4uCkxvYWRpbmcgbGFuZ3VhZ2UvY3plY2guLi4KTG9h ZGluZyBsYW5ndWFnZS9zbG92YWsuLi4KTG9hZGluZyBsYW5ndWFnZS9yb21hbmlhbi4uLgpMb2Fk aW5nIGxhbmd1YWdlL2dyZWVrLi4uCkxvYWRpbmcgbGFuZ3VhZ2UvaGVicmV3Li4uCkxvYWRpbmcg bGFuZ3VhZ2UvamFwYW5lc2UuLi4KTG9hZGluZyA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEv ZW1hY3MtMjQuMy45MS9saXNwL2ludGVybmF0aW9uYWwvY3A1MTkzMi5lbCAoc291cmNlKS4uLgpM b2FkaW5nIDxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MS9lbWFjcy0yNC4zLjkxL2xpc3AvaW50 ZXJuYXRpb25hbC9ldWNqcC1tcy5lbCAoc291cmNlKS4uLgpMb2FkaW5nIGxhbmd1YWdlL2tvcmVh bi4uLgpMb2FkaW5nIGxhbmd1YWdlL2xhby4uLgpMb2FkaW5nIGxhbmd1YWdlL3RhaS12aWV0Li4u CkxvYWRpbmcgbGFuZ3VhZ2UvdGhhaS4uLgpMb2FkaW5nIGxhbmd1YWdlL3RpYmV0YW4uLi4KTG9h ZGluZyBsYW5ndWFnZS92aWV0bmFtZXNlLi4uCkxvYWRpbmcgbGFuZ3VhZ2UvbWlzYy1sYW5nLi4u CkxvYWRpbmcgbGFuZ3VhZ2UvdXRmLTgtbGFuZy4uLgpMb2FkaW5nIGxhbmd1YWdlL2dlb3JnaWFu Li4uCkxvYWRpbmcgbGFuZ3VhZ2Uva2htZXIuLi4KTG9hZGluZyBsYW5ndWFnZS9idXJtZXNlLi4u CkxvYWRpbmcgbGFuZ3VhZ2UvY2hhbS4uLgpMb2FkaW5nIGluZGVudC4uLgpMb2FkaW5nIGZyYW1l Li4uCkxvYWRpbmcgdGVybS90dHktY29sb3JzLi4uCkxvYWRpbmcgZm9udC1jb3JlLi4uCkxvYWRp bmcgZmFjZW1lbnUuLi4KTG9hZGluZyBlbWFjcy1saXNwL3N5bnRheC4uLgpMb2FkaW5nIGZvbnQt bG9jay4uLgpMb2FkaW5nIGppdC1sb2NrLi4uCkxvYWRpbmcgbW91c2UuLi4KTG9hZGluZyBzY3Jv bGwtYmFyLi4uCkxvYWRpbmcgc2VsZWN0Li4uCkxvYWRpbmcgZW1hY3MtbGlzcC90aW1lci4uLgpM b2FkaW5nIGlzZWFyY2guLi4KTG9hZGluZyByZm4tZXNoYWRvdy4uLgpMb2FkaW5nIG1lbnUtYmFy Li4uCkxvYWRpbmcgZW1hY3MtbGlzcC9saXNwLi4uCkxvYWRpbmcgdGV4dG1vZGVzL3BhZ2UuLi4K TG9hZGluZyByZWdpc3Rlci4uLgpMb2FkaW5nIHRleHRtb2Rlcy9wYXJhZ3JhcGhzLi4uCkxvYWRp bmcgcHJvZ21vZGVzL3Byb2ctbW9kZS4uLgpMb2FkaW5nIGVtYWNzLWxpc3AvbGlzcC1tb2RlLi4u CkxvYWRpbmcgdGV4dG1vZGVzL3RleHQtbW9kZS4uLgpMb2FkaW5nIHRleHRtb2Rlcy9maWxsLi4u CkxvYWRpbmcgbmV3Y29tbWVudC4uLgpMb2FkaW5nIHJlcGxhY2UuLi4KTG9hZGluZyBlbWFjcy1s aXNwL3RhYnVsYXRlZC1saXN0Li4uCkxvYWRpbmcgYnVmZi1tZW51Li4uCkxvYWRpbmcgZnJpbmdl Li4uCkxvYWRpbmcgZW1hY3MtbGlzcC9yZWdleHAtb3B0Li4uCkxvYWRpbmcgaW1hZ2UuLi4KTG9h ZGluZyBpbnRlcm5hdGlvbmFsL2ZvbnRzZXQuLi4KTG9hZGluZyBkbmQuLi4KTG9hZGluZyB0b29s LWJhci4uLgpMb2FkaW5nIGR5bmFtaWMtc2V0dGluZy4uLgpMb2FkaW5nIHgtZG5kLi4uCkxvYWRp bmcgdGVybS9jb21tb24td2luLi4uCkxvYWRpbmcgdGVybS94LXdpbi4uLgpMb2FkaW5nIG13aGVl bC4uLgpMb2FkaW5nIGVtYWNzLWxpc3AvZmxvYXQtc3VwLi4uCkxvYWRpbmcgdmMvdmMtaG9va3Mu Li4KTG9hZGluZyB2Yy9lZGlmZi1ob29rLi4uCkxvYWRpbmcgdW5pcXVpZnkuLi4KTG9hZGluZyBl bGVjdHJpYy4uLgpMb2FkaW5nIHRvb2x0aXAuLi4KTG9hZGluZyA8SE9NRURJUj4vc3JjL2VtYWNz LzI0LjMuOTEvZW1hY3MtMjQuMy45MS9saXNwL2xlaW0vbGVpbS1saXN0LmVsIChzb3VyY2UpLi4u CkZpbmRpbmcgcG9pbnRlcnMgdG8gZG9jIHN0cmluZ3MuLi4KRmluZGluZyBwb2ludGVycyB0byBk b2Mgc3RyaW5ncy4uLmRvbmUKRHVtcGluZyB1bmRlciB0aGUgbmFtZSBlbWFjcwp1bmV4ZWM6IGNv dWxkbid0IGZpbmQgIsOowoJpUDjDgyIgc2VjdGlvbgpnbWFrZVsxXTogKioqIFtib290c3RyYXAt ZW1hY3NdIEVycm9yIDEKZ21ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGA8SE9NRURJUj4vc3Jj L2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9zcmMnCmdtYWtlOiAqKiogW3NyY10gRXJyb3Ig Mgo= --001a11c13f44fd0a2904f9e82bf6-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 21 12:28:28 2014 Received: (at 17540) by debbugs.gnu.org; 21 May 2014 16:28:28 +0000 Received: from localhost ([127.0.0.1]:55514 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wn9NT-0001o9-QQ for submit@debbugs.gnu.org; Wed, 21 May 2014 12:28:28 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:50716 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wn9NR-0001nv-NE for 17540@debbugs.gnu.org; Wed, 21 May 2014 12:28:26 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1Wn9NP-0006by-Da; Wed, 21 May 2014 12:28:23 -0400 From: Glenn Morris To: Gilles Pion Subject: Re: bug#17540: AIX - gcc 7.8.2 - Emacs pretest 24.3.91 - bootstrap-emacs SIGSEV References: X-Spook: Consul diwn Iran RSA Bin Laden UMTS Ft. Bragg smuggle X-Ran: ;oKmFM;@`Hv8/yX?WH>FjG(UOGbYU_V#/2`2JQ@;%6AYD%:)Puq\_n5nk"s$u3/YUpWcZ7 X-Hue: black X-Debbugs-No-Ack: yes X-Attribution: GM Date: Wed, 21 May 2014 12:28:23 -0400 Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.7 (-----) X-Debbugs-Envelope-To: 17540 Cc: 17540@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.7 (-----) The first one ("illegal instruction") sounds like http://debbugs.gnu.org/13650 again. :( From debbugs-submit-bounces@debbugs.gnu.org Wed May 21 12:34:41 2014 Received: (at 17540) by debbugs.gnu.org; 21 May 2014 16:34:41 +0000 Received: from localhost ([127.0.0.1]:55518 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wn9TU-00021O-VV for submit@debbugs.gnu.org; Wed, 21 May 2014 12:34:41 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:60725 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wn9TS-00020t-7u for 17540@debbugs.gnu.org; Wed, 21 May 2014 12:34:39 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.919510; Wed, 21 May 2014 18:34:27 +0200 Received: from babel.net.fdj.fr (notes6p1.prod.fdj.fr) by mail.net.fdj.fr (iPlanet Messaging Server 5.2 Patch 1 (built Aug 19 2002)) with ESMTP id <0N5X00E4HNDFKR@mail.net.fdj.fr> for 17540@debbugs.gnu.org; Wed, 21 May 2014 18:34:27 +0200 (MEST) Date: Wed, 21 May 2014 18:34:24 +0200 From: Gilles PION Subject: Re: bug#17540: AIX - gcc 7.8.2 - Emacs pretest 24.3.91 - bootstrap-emacs SIGSEV In-reply-to: To: Glenn Morris Message-id: MIME-version: 1.0 X-Mailer: Lotus Notes Release 8.5.3FP1 March 08, 2012 X-MIMETrack: Serialize by Router on Babel/FDJ(Release 8.0.2FP6HF284 | November 20, 2012) at 21/05/2014 18:34:27, Serialize complete at 21/05/2014 18:34:27 X-KeepSent: 98070C08:17BEB422-C1257CDF:005AB4FB; type=4; name=$KeepSent References: Content-Type: multipart/alternative; boundary="Boundary_(ID_mtWlHJFngDzQMbGYIp/L3w)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17540 Cc: 17540@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Message en plusieurs parties au format MIME --Boundary_(ID_mtWlHJFngDzQMbGYIp/L3w) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > The first one ("illegal instruction") sounds like > http://debbugs.gnu.org/13650 again. :( Totally. Maybe should I choose only one build (either 32bits or 64bits) to focus to? (Driving two horses in parallel could not be efficient) . Si vous n'êtes pas destinataires de ce message, merci d'avertir l'expéditeur de l'erreur de distribution et de le détruire immédiatement. Ce message contient des informations confidentielles ou appartenant a La Française des Jeux. Il est établi a l'intention exclusive de ses destinataires. Toute divulgation, utilisation, diffusion ou reproduction (totale ou partielle) de ce message ou des informations qu'il contient, doit être préalablement autorisée. Tout message électronique est susceptible d'altération et son intégrité ne peut etre assurée. La Française des Jeux décline toute responsabilité au titre de ce message s'il a été modifie ou falsifie. --Boundary_(ID_mtWlHJFngDzQMbGYIp/L3w) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT >
> The first one ("illegal instruction") sounds like
>
http://debbugs.gnu.org/13650 again. :(

Totally.

Maybe should I choose only one build (either 32bits or 64bits) to focus to?
(Driving two horses in parallel could not be efficient) . Si vous n'êtes pas destinataires de ce message, merci d'avertir l'expéditeur de l'erreur de distribution et de le détruire immédiatement. Ce message contient des informations confidentielles ou appartenant a La Française des Jeux. Il est établi a l'intention exclusive de ses destinataires. Toute divulgation, utilisation, diffusion ou reproduction (totale ou partielle) de ce message ou des informations qu'il contient, doit être préalablement autorisée. Tout message électronique est susceptible d'altération et son intégrité ne peut etre assurée. La Française des Jeux décline toute responsabilité au titre de ce message s'il a été modifie ou falsifie. --Boundary_(ID_mtWlHJFngDzQMbGYIp/L3w)-- From debbugs-submit-bounces@debbugs.gnu.org Thu May 22 04:18:21 2014 Received: (at 17540) by debbugs.gnu.org; 22 May 2014 08:18:21 +0000 Received: from localhost ([127.0.0.1]:56009 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WnOCj-0002Tb-8s for submit@debbugs.gnu.org; Thu, 22 May 2014 04:18:21 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:54641) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WnOCf-0002TJ-VM for 17540@debbugs.gnu.org; Thu, 22 May 2014 04:18:19 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 91BEEA6001E; Thu, 22 May 2014 01:18:12 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NlZjRdW2OFJI; Thu, 22 May 2014 01:18:08 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 95D26A60001; Thu, 22 May 2014 01:18:08 -0700 (PDT) Message-ID: <537DB2C0.3000103@cs.ucla.edu> Date: Thu, 22 May 2014 01:18:08 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Gilles Pion Subject: Re: AIX - gcc 7.8.2 - Emacs pretest 24.3.91 - bootstrap-emacs SIGSEV Content-Type: multipart/mixed; boundary="------------060001060406050907080302" X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17540 Cc: 17540@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) This is a multi-part message in MIME format. --------------060001060406050907080302 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I tried building Emacs pretest 24.3.91 on an AIX 7.1 POWER host and got the same problem. The attached patch fixed things for me, so I installed it as emacs-24 bzr 117140. Could you please try the attached patch on your AIX host, in 32-bit mode? Please patch just src/unexaix.c, as the patch to 'configure.ac' is likely to cause you more trouble than it's worth if you're trying to build on AIX 6. Thanks. PS. As far as I know Emacs has never worked on 64-bit AIX, so I didn't look at getting that working. --------------060001060406050907080302 Content-Type: text/plain; charset=UTF-8; name="aix.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="aix.diff" PT09IG1vZGlmaWVkIGZpbGUgJ0NoYW5nZUxvZycKLS0tIENoYW5nZUxvZwkyMDE0LTA1LTE4 IDIyOjQxOjIyICswMDAwCisrKyBDaGFuZ2VMb2cJMjAxNC0wNS0yMiAwNDo0NToyOCArMDAw MApAQCAtMSwzICsxLDkgQEAKKzIwMTQtMDUtMjIgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNz LnVjbGEuZWR1PgorCisJRml4IHBvcnQgdG8gMzItYml0IEFJWCAoQnVnIzE3NTQwKS4KKwkq IGNvbmZpZ3VyZS5hYyAob3BzeXMpOiBPbiBQb3dlciBBcmNoaXRlY3R1cmUsIHRyZWF0IHJl bGVhc2UgNyBvZgorCUFJWCBsaWtlIHJlbGVhc2VzIDUgYW5kIDYuCisKIDIwMTQtMDUtMTgg IEdsZW5uIE1vcnJpcyAgPHJnbUBnbnUub3JnPgogCiAJKiBjb25maWd1cmUuYWMgKElOU1RB TExfSU5GTyk6Cgo9PT0gbW9kaWZpZWQgZmlsZSAnY29uZmlndXJlLmFjJwotLS0gY29uZmln dXJlLmFjCTIwMTQtMDUtMTggMjI6NDE6MjIgKzAwMDAKKysrIGNvbmZpZ3VyZS5hYwkyMDE0 LTA1LTIyIDA0OjM5OjI1ICswMDAwCkBAIC01NTAsNyArNTUwLDcgQEAKICAgcnM2MDAwLWli bS1haXhbNTZdKiApCiAgICAgb3BzeXM9YWl4NC0yCiAgIDs7Ci0gIHBvd2VycGMtaWJtLWFp eFs1Nl0qICApCisgIHBvd2VycGMtaWJtLWFpeFs1LTldKiB8IHBvd2VycGMtaWJtLWFpeFsx LTldWzAtOV0qICkKICAgICBvcHN5cz1haXg0LTIKICAgOzsKIAoKPT09IG1vZGlmaWVkIGZp bGUgJ3NyYy9DaGFuZ2VMb2cnCi0tLSBzcmMvQ2hhbmdlTG9nCTIwMTQtMDUtMjEgMTU6MDM6 MTggKzAwMDAKKysrIHNyYy9DaGFuZ2VMb2cJMjAxNC0wNS0yMiAwNDo0NDozMyArMDAwMApA QCAtMSwzICsxLDEwIEBACisyMDE0LTA1LTIyICBQYXVsIEVnZ2VydCAgPGVnZ2VydEBjcy51 Y2xhLmVkdT4KKworCUZpeCBwb3J0IHRvIDMyLWJpdCBBSVggKEJ1ZyMxNzU0MCkuCisJKiB1 bmV4YWl4LmMgKGNvcHlfdGV4dF9hbmRfZGF0YSk6IERvbid0IGFkZCB0ZXh0X3NjbnB0ciB0 byBwdHIKKwl0d2ljZS4gIF90ZXh0IGFscmVhZHkgaW5jbHVkZXMgdGhpcyBvZmZzZXQuCisJ KHVucmVsb2NhdGVfc3ltYm9scyk6IERvbid0IGNhc3QgNjQtYml0IGludGVnZXIgdG8gcG9p bnRlci4KKwogMjAxNC0wNS0yMSAgRWxpIFphcmV0c2tpaSAgPGVsaXpAZ251Lm9yZz4KIAog CSogeGRpc3AuYyAobW92ZV9pdF9pbl9kaXNwbGF5X2xpbmVfdG8pOiBBdm9pZCBpbmZpbml0 ZSByZWN1cnNpb246Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL3VuZXhhaXguYycKLS0tIHNy Yy91bmV4YWl4LmMJMjAxNC0wMS0wMSAwNzo0MzozNCArMDAwMAorKysgc3JjL3VuZXhhaXgu YwkyMDE0LTA1LTIyIDA0OjM4OjE1ICswMDAwCkBAIC0zNzksNyArMzc5LDcgQEAKICAgY2hh ciAqcHRyOwogCiAgIGxzZWVrIChuZXcsIHRleHRfc2NucHRyLCBTRUVLX1NFVCk7Ci0gIHB0 ciA9IF90ZXh0ICsgdGV4dF9zY25wdHI7CisgIHB0ciA9IF90ZXh0OwogICBlbmQgPSBwdHIg KyBmX29oZHIudHNpemU7CiAgIHdyaXRlX3NlZ21lbnQgKG5ldywgcHRyLCBlbmQpOwogCkBA IC02MDYsNyArNjA2LDcgQEAKIAkgICAgICBQRVJST1IgKGFfbmFtZSk7CiAJICAgIH0KIAot ICAgICAgICAgIHAgPSAoaW50ICopIChsZHJlbC5sX3ZhZGRyICsgZF9yZWxvYyk7CisgICAg ICAgICAgcCA9IChpbnQgKikgKGludHB0cl90KSAobGRyZWwubF92YWRkciArIGRfcmVsb2Mp OwogCiAJICBzd2l0Y2ggKGxkcmVsLmxfc3ltbmR4KSB7CiAJICBjYXNlIFNZTU5EWF9URVhU OgoK --------------060001060406050907080302-- From debbugs-submit-bounces@debbugs.gnu.org Thu May 22 05:00:43 2014 Received: (at 17540) by debbugs.gnu.org; 22 May 2014 09:00:43 +0000 Received: from localhost ([127.0.0.1]:56033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WnOre-0003sP-0w for submit@debbugs.gnu.org; Thu, 22 May 2014 05:00:42 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:5343 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WnOrW-0003rw-8o for 17540@debbugs.gnu.org; Thu, 22 May 2014 05:00:35 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.942393; Thu, 22 May 2014 11:00:20 +0200 Received: from babel.net.fdj.fr (notes6p1.prod.fdj.fr) by mail.net.fdj.fr (iPlanet Messaging Server 5.2 Patch 1 (built Aug 19 2002)) with ESMTP id <0N5Y00IPKX0KFY@mail.net.fdj.fr> for 17540@debbugs.gnu.org; Thu, 22 May 2014 11:00:20 +0200 (MEST) Date: Thu, 22 May 2014 11:00:18 +0200 From: Gilles PION Subject: Re: AIX - gcc 7.8.2 - Emacs pretest 24.3.91 - bootstrap-emacs SIGSEV In-reply-to: <537DB2C0.3000103@cs.ucla.edu> To: Paul Eggert Message-id: MIME-version: 1.0 X-Mailer: Lotus Notes Release 8.5.3FP1 March 08, 2012 X-MIMETrack: Serialize by Router on Babel/FDJ(Release 8.0.2FP6HF284 | November 20, 2012) at 22/05/2014 11:00:19, Serialize complete at 22/05/2014 11:00:19 X-KeepSent: FA730DA2:4788C521-C1257CE0:00313BFC; type=4; name=$KeepSent References: <537DB2C0.3000103@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_wT7FR1yI7d7v7PZK9HBBWw)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17540 Cc: 17540@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Message en plusieurs parties au format MIME --Boundary_(ID_wT7FR1yI7d7v7PZK9HBBWw) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > I tried building Emacs pretest 24.3.91 on an AIX 7.1 POWER host and got > the same problem. The attached patch fixed things for me, so I > installed it as emacs-24 bzr 117140. Could you please try the attached > patch on your AIX host, in 32-bit mode? Well done! It worked: $ /bin/emacs --version GNU Emacs 24.3.91.1 Copyright (C) 2014 Free Software Foundation, Inc. GNU Emacs comes with ABSOLUTELY NO WARRANTY. You may redistribute copies of Emacs under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. . Si vous n'êtes pas destinataires de ce message, merci d'avertir l'expéditeur de l'erreur de distribution et de le détruire immédiatement. Ce message contient des informations confidentielles ou appartenant a La Française des Jeux. Il est établi a l'intention exclusive de ses destinataires. Toute divulgation, utilisation, diffusion ou reproduction (totale ou partielle) de ce message ou des informations qu'il contient, doit être préalablement autorisée. Tout message électronique est susceptible d'altération et son intégrité ne peut etre assurée. La Française des Jeux décline toute responsabilité au titre de ce message s'il a été modifie ou falsifie. --Boundary_(ID_wT7FR1yI7d7v7PZK9HBBWw) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT > I tried building Emacs pretest 24.3.91 on an AIX 7.1 POWER host and got
> the same problem.  The attached patch fixed things for me, so I
> installed it as emacs-24 bzr 117140.  Could you please try the attached
> patch on your AIX host, in 32-bit mode?  


Well done! It worked:

$  <PREFIX>/bin/emacs --version
GNU Emacs 24.3.91.1
Copyright (C) 2014 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

. Si vous n'êtes pas destinataires de ce message, merci d'avertir l'expéditeur de l'erreur de distribution et de le détruire immédiatement. Ce message contient des informations confidentielles ou appartenant a La Française des Jeux. Il est établi a l'intention exclusive de ses destinataires. Toute divulgation, utilisation, diffusion ou reproduction (totale ou partielle) de ce message ou des informations qu'il contient, doit être préalablement autorisée. Tout message électronique est susceptible d'altération et son intégrité ne peut etre assurée. La Française des Jeux décline toute responsabilité au titre de ce message s'il a été modifie ou falsifie. --Boundary_(ID_wT7FR1yI7d7v7PZK9HBBWw)-- From debbugs-submit-bounces@debbugs.gnu.org Thu May 22 09:50:28 2014 Received: (at 17540-done) by debbugs.gnu.org; 22 May 2014 13:50:29 +0000 Received: from localhost ([127.0.0.1]:56211 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WnTO8-0005lp-H0 for submit@debbugs.gnu.org; Thu, 22 May 2014 09:50:28 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:37217) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WnTO6-0005lW-C6 for 17540-done@debbugs.gnu.org; Thu, 22 May 2014 09:50:27 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 2C3ECA60032; Thu, 22 May 2014 06:50:20 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ro3sjH91LgAX; Thu, 22 May 2014 06:50:11 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 8C3E9A6001E; Thu, 22 May 2014 06:50:11 -0700 (PDT) Message-ID: <537E008F.9090900@cs.ucla.edu> Date: Thu, 22 May 2014 06:50:07 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Gilles PION Subject: Re: AIX - gcc 7.8.2 - Emacs pretest 24.3.91 - bootstrap-emacs SIGSEV References: <537DB2C0.3000103@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17540-done Cc: 17540-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) Gilles PION wrote: > Well done! It worked: Thanks for checking. I'm closing the bug report as fixed. From debbugs-submit-bounces@debbugs.gnu.org Thu May 22 10:35:53 2014 Received: (at 17540-done) by debbugs.gnu.org; 22 May 2014 14:35:53 +0000 Received: from localhost ([127.0.0.1]:56665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WnU64-0007J3-Uo for submit@debbugs.gnu.org; Thu, 22 May 2014 10:35:53 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:9490 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WnU61-0007Io-5A for 17540-done@debbugs.gnu.org; Thu, 22 May 2014 10:35:50 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.958624; Thu, 22 May 2014 16:35:40 +0200 Received: from babel.net.fdj.fr (notes6p1.prod.fdj.fr) by mail.net.fdj.fr (iPlanet Messaging Server 5.2 Patch 1 (built Aug 19 2002)) with ESMTP id <0N5Z005HKCJG5A@mail.net.fdj.fr> for 17540-done@debbugs.gnu.org; Thu, 22 May 2014 16:35:40 +0200 (MEST) Date: Thu, 22 May 2014 16:35:38 +0200 From: Gilles PION Subject: Re: AIX - gcc 7.8.2 - Emacs pretest 24.3.91 - bootstrap-emacs SIGSEV In-reply-to: <537E008F.9090900@cs.ucla.edu> To: Paul Eggert Message-id: MIME-version: 1.0 X-Mailer: Lotus Notes Release 8.5.3FP1 March 08, 2012 X-MIMETrack: Serialize by Router on Babel/FDJ(Release 8.0.2FP6HF284 | November 20, 2012) at 22/05/2014 16:35:40, Serialize complete at 22/05/2014 16:35:40 X-KeepSent: 8D1A2432:9277324C-C1257CE0:004FDDAC; type=4; name=$KeepSent References: <537DB2C0.3000103@cs.ucla.edu> <537E008F.9090900@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_feF7M5sVdc63iVFgUaG3fQ)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17540-done Cc: 17540-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Message en plusieurs parties au format MIME --Boundary_(ID_feF7M5sVdc63iVFgUaG3fQ) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > Thanks for checking. I'm closing the bug report as fixed. You may close this one, But I've other issues (also SIGSEV when using custom-mode) I'll possibly have to open another reports. Stay tuned. . Si vous n'êtes pas destinataires de ce message, merci d'avertir l'expéditeur de l'erreur de distribution et de le détruire immédiatement. Ce message contient des informations confidentielles ou appartenant a La Française des Jeux. Il est établi a l'intention exclusive de ses destinataires. Toute divulgation, utilisation, diffusion ou reproduction (totale ou partielle) de ce message ou des informations qu'il contient, doit être préalablement autorisée. Tout message électronique est susceptible d'altération et son intégrité ne peut etre assurée. La Française des Jeux décline toute responsabilité au titre de ce message s'il a été modifie ou falsifie. --Boundary_(ID_feF7M5sVdc63iVFgUaG3fQ) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT

> Thanks for checking.  I'm closing the bug report as fixed.

You may close this one,

But I've other issues (also SIGSEV when using custom-mode)
I'll possibly have to open another reports.
Stay tuned. . Si vous n'êtes pas destinataires de ce message, merci d'avertir l'expéditeur de l'erreur de distribution et de le détruire immédiatement. Ce message contient des informations confidentielles ou appartenant a La Française des Jeux. Il est établi a l'intention exclusive de ses destinataires. Toute divulgation, utilisation, diffusion ou reproduction (totale ou partielle) de ce message ou des informations qu'il contient, doit être préalablement autorisée. Tout message électronique est susceptible d'altération et son intégrité ne peut etre assurée. La Française des Jeux décline toute responsabilité au titre de ce message s'il a été modifie ou falsifie. --Boundary_(ID_feF7M5sVdc63iVFgUaG3fQ)-- From unknown Tue Jun 24 05:09:02 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 20 Jun 2014 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator