From unknown Wed Jun 18 00:26:39 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#17598 <17598@debbugs.gnu.org> To: bug#17598 <17598@debbugs.gnu.org> Subject: Status: Emacs pretest 24.3.91 - AIX - SIGSEV when customize Reply-To: bug#17598 <17598@debbugs.gnu.org> Date: Wed, 18 Jun 2025 07:26:39 +0000 retitle 17598 Emacs pretest 24.3.91 - AIX - SIGSEV when customize reassign 17598 emacs submitter 17598 Gilles Pion severity 17598 important thanks From debbugs-submit-bounces@debbugs.gnu.org Mon May 26 02:53:08 2014 Received: (at submit) by debbugs.gnu.org; 26 May 2014 06:53:08 +0000 Received: from localhost ([127.0.0.1]:60219 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WoomR-0004sq-GU for submit@debbugs.gnu.org; Mon, 26 May 2014 02:53:07 -0400 Received: from eggs.gnu.org ([208.118.235.92]:39426) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WoomN-0004sF-KQ for submit@debbugs.gnu.org; Mon, 26 May 2014 02:53:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WoomG-00083b-GP for submit@debbugs.gnu.org; Mon, 26 May 2014 02:52:58 -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 lists.gnu.org ([2001:4830:134:3::11]:38797) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WoomG-00083V-4V for submit@debbugs.gnu.org; Mon, 26 May 2014 02:52:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41143) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WoomE-0003ho-4f for bug-gnu-emacs@gnu.org; Mon, 26 May 2014 02:52:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WoomB-00082X-VW for bug-gnu-emacs@gnu.org; Mon, 26 May 2014 02:52:54 -0400 Received: from mail-qc0-x231.google.com ([2607:f8b0:400d:c01::231]:37559) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WoomA-00082H-T2 for bug-gnu-emacs@gnu.org; Mon, 26 May 2014 02:52:51 -0400 Received: by mail-qc0-f177.google.com with SMTP id i17so11348373qcy.8 for ; Sun, 25 May 2014 23:52:50 -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=JPCv0a8A0giPPh8Yg57VePxXlkh0ea/+U2/LOH1ldmg=; b=QX6AdzTPOnmN+Up/eCokqmIe0fDjJbINIi0tPIrnpldhotE4Y6sigF+Va6CkRwWX9x J+B2OhskStiC/j0qEhIthyYkzrKppOxJwVrKK+0Twwuaz1IedbW/AwFQfa1kwUsEYsCt MylZU3kC/9qaATrfn0p1yXhLUt7NfWQdYQGTrft/LyjM4xBHwgIsU7x7Pr7NWs6m/YoH 6JKyJXsE4ndnKnmhch9QYjJd+bsJkMHZEdZtUITXqJgszOwGJOSYq2j2a8MZMgh+Pn9L roTY6CxT0cWawHUgQqX5CiTh9fkBYuxACZKyZNpmtgXChYxTRK6ow8IWD9sFNMjAkrGd Mxvw== X-Received: by 10.224.25.133 with SMTP id z5mr29404795qab.97.1401087170261; Sun, 25 May 2014 23:52:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.130.7 with HTTP; Sun, 25 May 2014 23:52:30 -0700 (PDT) From: Gilles Pion Date: Mon, 26 May 2014 08:52:30 +0200 X-Google-Sender-Auth: XlZ5Lm_utFvR0iiHs_H2MBZkeDM Message-ID: Subject: Emacs pretest 24.3.91 - AIX - SIGSEV when customize To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary=047d7bdc17a41573d304fa4807ba 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-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" --047d7bdc17a41573d304fa4807ba Content-Type: text/plain; charset=UTF-8 sequences of actions making emacs crash: * lauch "emacs --no-site-file --no-init-file" with $DISPLAY pointing to a running X server. * M-X customize-group * icomplete * expand "icomplete mode" node (should be initially "off") * toggle * goto "state" * press "return" Note: this sequence of actions always leads crash but stack backtraces are never the same. ==> config.log and gdb session typescript attached -- Gilles PION --047d7bdc17a41573d304fa4807ba Content-Type: text/plain; charset=US-ASCII; name="anonymized-gdb_session.txt" Content-Disposition: attachment; filename="anonymized-gdb_session.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hvnetg5q1 RDFzdHVuaXhAYXgzMDAwMT4gZ2RiIC4vZW1hY3MtMjQuMy45MS9zcmMvZW1hY3MgCkdOVSBnZGIg KEdEQikgNy41CkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251 Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJlIGZy ZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuClRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0 byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuICBUeXBlICJzaG93IGNvcHlpbmciCmFuZCAi c2hvdyB3YXJyYW50eSIgZm9yIGRldGFpbHMuClRoaXMgR0RCIHdhcyBjb25maWd1cmVkIGFzICJw b3dlcnBjNjQtaWJtLWFpeDYuMS4yLjAiLgpGb3IgYnVnIHJlcG9ydGluZyBpbnN0cnVjdGlvbnMs IHBsZWFzZSBzZWU6CjxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2J1Z3MvPi4uLgpS ZWFkaW5nIHN5bWJvbHMgZnJvbSA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQu My45MS9zcmMvZW1hY3MuLi5kb25lLgooZ2RiKSBydW4gLS1uby1zaXRlLWZpbGUgIC0tbm8taW5p dC1maWxlClN0YXJ0aW5nIHByb2dyYW06IDxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MS9lbWFj cy0yNC4zLjkxL3NyYy9lbWFjcyAtLW5vLXNpdGUtZmlsZSAgLS1uby1pbml0LWZpbGUKW05ldyBU aHJlYWQgMV0KClByb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRhdGlvbiBm YXVsdC4KW1N3aXRjaGluZyB0byBUaHJlYWQgMV0KMHhkMjQ2NGY3MCBpbiA/PyAoKSBmcm9tIC91 c3IvbGliL25scy9sb2MvQy5pbQooZ2RiKSB3aGVyZQojMCAgMHhkMjQ2NGY3MCBpbiA/PyAoKSBm cm9tIC91c3IvbGliL25scy9sb2MvQy5pbQojMSAgMHhkMjQ2NGMzMCBpbiA/PyAoKSBmcm9tIC91 c3IvbGliL25scy9sb2MvQy5pbQojMiAgMHhkMjBiOGEwYyBpbiBJTUZpbHRlckBBRjE5XzUgKCkg ZnJvbSAvdXNyL2xpYi9saWJJTS5hKHNoci5vKQojMyAgMHhkMjUwNjIwNCBpbiBfYWl4WG1iRmls dGVyICgpIGZyb20gL3Vzci9saWIvbGliWDExLmEoc2hyNC5vKQojNCAgMHhkMjUwNTMxYyBpbiBf WGFpeEtleVByZXNzRmlsdGVyICgpIGZyb20gL3Vzci9saWIvbGliWDExLmEoc2hyNC5vKQojNSAg MHhkMjRjY2RmMCBpbiBYRmlsdGVyRXZlbnQgKCkgZnJvbSAvdXNyL2xpYi9saWJYMTEuYShzaHI0 Lm8pCiM2ICAweDEwMTU4ZmU0IGluIFhUcmVhZF9zb2NrZXQgKHRlcm1pbmFsPTB4MjBlYjZlYzgs IGhvbGRfcXVpdD0weDJmZjFhMDM4KQogICAgYXQgeHRlcm0uYzo1Njc5CiM3ICAweDEwMDlhNDUw IGluIGdvYmJsZV9pbnB1dCAoKSBhdCBrZXlib2FyZC5jOjY4NDkKIzggIDB4MTAwOWE2NDQgaW4g Z2V0X2lucHV0X3BlbmRpbmcgKGZsYWdzPTEpIGF0IGtleWJvYXJkLmM6Njc3MAojOSAgMHgxMDA5 ZTY0NCBpbiBkZXRlY3RfaW5wdXRfcGVuZGluZ19ydW5fdGltZXJzIChkb19kaXNwbGF5PXRydWUp CiAgICBhdCBrZXlib2FyZC5jOjk4OTIKIzEwIDB4MTAxZDMxMjQgaW4gd2FpdF9yZWFkaW5nX3By b2Nlc3Nfb3V0cHV0IChuc2Vjcz0wLCByZWFkX2tiZD01NDE3MDMxMjQsIAogICAgZG9fZGlzcGxh eT10cnVlLCB3YWl0X2Zvcl9jZWxsPTU0MTgzNzMzOCwgd2FpdF9wcm9jPTB4MCwgCiAgICBqdXN0 X3dhaXRfcHJvYz04MDQzOTc0MzIpIGF0IHByb2Nlc3MuYzo0MTQKIzExIDB4MTAxMzJlOTQgaW4g c2l0X2ZvciAodGltZW91dD0xMjAsIHJlYWRpbmc9dHJ1ZSwgZGlzcGxheV9vcHRpb249MSkKICAg IGF0IGRpc3BuZXcuYzo1ODA1CiMxMiAweDEwMDlmNjVjIGluIHJlYWRfY2hhciAoY29tbWFuZGZs YWc9MSwgbWFwPTU1MjIyMjY2MiwgCiAgICBwcmV2X2V2ZW50PTU0MTgzNzMzOCwgdXNlZF9tb3Vz ZV9tZW51PTB4MmZmMjI1YmMsIGVuZF90aW1lPTB4MCkKICAgIGF0IGtleWJvYXJkLmM6MjgwOQoj MTMgMHgxMDBhMGIzOCBpbiByZWFkX2tleV9zZXF1ZW5jZS5jb25zdHByb3AuMzkgKGtleWJ1Zj0w eDJmZjIyNmI4LCAKICAgIHByb21wdD01NDE4MzczMzgsIGRvbnRfZG93bmNhc2VfbGFzdD1mYWxz ZSwgCiAgICBjYW5fcmV0dXJuX3N3aXRjaF9mcmFtZT1mYWxzZSwgZml4X2N1cnJlbnRfYnVmZmVy PWZhbHNlLCAKICAgIHByZXZlbnRfcmVkaXNwbGF5PTI0MCkgYXQga2V5Ym9hcmQuYzo5MDg3CiMx NCAweDEwMGEyOTc4IGluIGNvbW1hbmRfbG9vcF8xICgpIGF0IGtleWJvYXJkLmM6MTQ1MgojMTUg MHgxMDAyNzFjNCBpbiBpbnRlcm5hbF9jb25kaXRpb25fY2FzZSAoCiAgICBiZnVuPUAweDIwMWNi NDg0OiAweDEwMGEyNzA4IDxjb21tYW5kX2xvb3BfMT4sIGhhbmRsZXJzPTY1MzY0LCAKICAgIGhm dW49QDB4MjAxY2I0OTA6IDB4MTAwOTc4YTggPGNtZF9lcnJvcj4pIGF0IGV2YWwuYzoxMzU0CiMx NiAweDEwMDkyOTQ4IGluIGNvbW1hbmRfbG9vcF8yIChpZ25vcmU9NTUyMzAwMjMyKSBhdCBrZXli b2FyZC5jOjExNzcKIzE3IDB4MTAwMjcwNmMgaW4gaW50ZXJuYWxfY2F0Y2ggKHRhZz01NDE4Nzc2 NTgsIAogICAgZnVuYz1AMHgyMDFjZmU4ODogMHgxMDA5MjkwOCA8Y29tbWFuZF9sb29wXzI+LCBh cmc9NTQxODM3MzM4KQogICAgYXQgZXZhbC5jOjExMTgKIzE4IDB4MTAwOTcxN2MgaW4gcmVjdXJz aXZlX2VkaXRfMSAoKSBhdCBrZXlib2FyZC5jOjExNTYKIzE5IDB4MTAwOTc3MjQgaW4gRnJlY3Vy c2l2ZV9lZGl0ICgpIGF0IGtleWJvYXJkLmM6ODQ4CiMyMCAweDEwMDAwZGQ0IGluIG1haW4gKGFy Z2M9ODA0NDAwODg3LCBhcmd2PTB4MmZmMjJhOGMpIGF0IGVtYWNzLmM6MTY0NgooZ2RiKSAK --047d7bdc17a41573d304fa4807ba Content-Type: application/octet-stream; name="anonymized-config.log" Content-Disposition: attachment; filename="anonymized-config.log" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hvnetg4d0 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGVtYWNzIGNvbmZpZ3VyZSAyNC4zLCB3aGlj aCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LiAgSW52b2NhdGlvbiBjb21tYW5k IGxpbmUgd2FzCgogICQgLi9jb25maWd1cmUgLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4z IC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zIC0tc3lzY29uZmRpcj08RVRDRElS PiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1rZXJiZXJvcyAtLXdp dGhvdXQtcG9wIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS13aXRob3V0LXNvdW5kIC0td2l0aG91 dC1rZXJiZXJvcyAtLXdpdGhvdXQta2VyYmVyb3M1IC0td2l0aC1naWY9bm8gLS13aXRoLXhwbSAt LXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycyAtLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NB TExJU1BQQVRIPiAtLXdpdGhvdXQtbWFrZWluZm8gLS1lbmFibGUtbGluay10aW1lLW9wdGltaXph dGlvbgoKIyMgLS0tLS0tLS0tICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0tLS0gIyMKCmhv c3RuYW1lID0gYXgzMDAwMQp1bmFtZSAtbSA9IDAwQ0QxMEY0NEMwMAp1bmFtZSAtciA9IDEKdW5h bWUgLXMgPSBBSVgKdW5hbWUgLXYgPSA2CgovdXNyL2Jpbi91bmFtZSAtcCA9IHBvd2VycGMKL2Jp bi91bmFtZSAtWCAgICAgPSB1bmtub3duCgovYmluL2FyY2ggICAgICAgICAgICAgID0gdW5rbm93 bgovdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gdW5rbm93bgovdXNyL2NvbnZleC9nZXRzeXNpbmZv ID0gdW5rbm93bgovdXNyL2Jpbi9ob3N0aW5mbyAgICAgID0gdW5rbm93bgovYmluL21hY2hpbmUg ICAgICAgICAgID0gdW5rbm93bgovdXNyL2Jpbi9vc2xldmVsICAgICAgID0gNi4xLjAuMAovYmlu L3VuaXZlcnNlICAgICAgICAgID0gdW5rbm93bgoKUEFUSDogL3Vzci92YWMvYmluClBBVEg6IC91 c3IvdmFjcHAvYmluClBBVEg6IC91c3IvbG9jYWwvYmluClBBVEg6IC9iaW4KUEFUSDogL3Vzci9i aW4KUEFUSDogL3Vzci9jY3MvYmluClBBVEg6IC9vcHQvZnJlZXdhcmUvYmluCgoKIyMgLS0tLS0t LS0tLS0gIyMKIyMgQ29yZSB0ZXN0cy4gIyMKIyMgLS0tLS0tLS0tLS0gIyMKCmNvbmZpZ3VyZToz MzkzOiBjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3VyZTozNDYx OiByZXN1bHQ6IC9vcHQvZnJlZXdhcmUvYmluL2luc3RhbGwgLWMKY29uZmlndXJlOjM0NzI6IGNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZQpjb25maWd1cmU6MzUyMjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjM2NjM6IGNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1r ZGlyIC1wCmNvbmZpZ3VyZTozNzAyOiByZXN1bHQ6IC9vcHQvZnJlZXdhcmUvYmluL21rZGlyIC1w CmNvbmZpZ3VyZTozNzE2OiBjaGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6Mzc0NjogcmVzdWx0 OiBubwpjb25maWd1cmU6MzcxNjogY2hlY2tpbmcgZm9yIG1hd2sKY29uZmlndXJlOjM3NDY6IHJl c3VsdDogbm8KY29uZmlndXJlOjM3MTY6IGNoZWNraW5nIGZvciBuYXdrCmNvbmZpZ3VyZTozNzMy OiBmb3VuZCAvYmluL25hd2sKY29uZmlndXJlOjM3NDM6IHJlc3VsdDogbmF3awpjb25maWd1cmU6 Mzc1NDogY2hlY2tpbmcgd2hldGhlciAvYmluL2dtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6 Mzc3NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ0MzE6IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0 eXBlCmNvbmZpZ3VyZTo0NDQ1OiByZXN1bHQ6IHBvd2VycGMtaWJtLWFpeDYuMS4wLjAKY29uZmln dXJlOjQ0NjU6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUKY29uZmlndXJlOjQ0Nzg6IHJlc3Vs dDogcG93ZXJwYy1pYm0tYWl4Ni4xLjAuMApjb25maWd1cmU6NDcyNDogY2hlY2tpbmcgZm9yIGdj Ywpjb25maWd1cmU6NDc1MTogcmVzdWx0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYwpjb25m aWd1cmU6NDk4MDogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6NDk4 OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLS12ZXJzaW9uID4mNQpnY2MgKEdDQykgNC44 LjEKQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlz IGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMu ICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3VyZTo1MDAwOiAkPyA9IDAK Y29uZmlndXJlOjQ5ODk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC12ID4mNQpVc2luZyBi dWlsdC1pbiBzcGVjcy4KQ09MTEVDVF9HQ0M9PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MKQ09M TEVDVF9MVE9fV1JBUFBFUj08VE9PTFNESVI+L2djYy00LjguMS9saWJleGVjL2djYy9wb3dlcnBj LWlibS1haXg2LjEuMC4wLzQuOC4xL2x0by13cmFwcGVyClRhcmdldDogcG93ZXJwYy1pYm0tYWl4 Ni4xLjAuMApDb25maWd1cmVkIHdpdGg6IDxIT01FRElSPi9zcmMvZ2NjLzQuOC4xL2djYy00Ljgu MS9jb25maWd1cmUgLS1wcmVmaXg9PFRPT0xTRElSPi9nY2MtNC44LjEgLS1zeXNjb25mZGlyPTxT WVNDT05GRElSPiAtLWxvY2Fsc3RhdGVkaXI9L3ZhcjxUT09MU0RJUj4vZ2NjIC0tcHJlZml4PTxU T09MU0RJUj4vZ2NjLTQuOC4xIC0tZGlzYWJsZS1zaGFyZWQgLS1kaXNhYmxlLW5scyAtLWRpc2Fi bGUtbGliZ2NqIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyAtLWVuYWJsZS1saWJhZGE9bm8KVGhy ZWFkIG1vZGVsOiBhaXgKZ2NjIHZlcnNpb24gNC44LjEgKEdDQykgCmNvbmZpZ3VyZTo1MDAwOiAk PyA9IDAKY29uZmlndXJlOjQ5ODk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1WID4mNQpn Y2M6IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnLVYnCmdjYzogZmF0 YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3Vy ZTo1MDAwOiAkPyA9IDEKY29uZmlndXJlOjQ5ODk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1xdmVyc2lvbiA+JjUKZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRp b24gJy1xdmVyc2lvbicKZ2NjOiBmYXRhbCBlcnJvcjogbm8gaW5wdXQgZmlsZXMKY29tcGlsYXRp b24gdGVybWluYXRlZC4KY29uZmlndXJlOjUwMDA6ICQ/ID0gMQpjb25maWd1cmU6NTAyMDogY2hl Y2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcwpjb25maWd1cmU6NTA0MjogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRl ICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1 MDQ2OiAkPyA9IDAKY29uZmlndXJlOjUwOTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MDk3OiBj aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUKY29uZmlndXJl OjUwOTk6IHJlc3VsdDogYS5vdXQKY29uZmlndXJlOjUxMDU6IGNoZWNraW5nIGZvciBzdWZmaXgg b2YgZXhlY3V0YWJsZXMKY29uZmlndXJlOjUxMTI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1vIGNvbmZ0ZXN0IC1PMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMvbGliIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTExNjogJD8g PSAwCmNvbmZpZ3VyZTo1MTM4OiByZXN1bHQ6IApjb25maWd1cmU6NTE2MDogY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nCmNvbmZpZ3VyZTo1MTY4OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtbyBjb25mdGVzdCAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2lu Y2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiBjb25mdGVzdC5jICA+JjUKY29uZmln dXJlOjUxNzI6ICQ/ID0gMApjb25maWd1cmU6NTE3OTogLi9jb25mdGVzdApjb25maWd1cmU6NTE4 MzogJD8gPSAwCmNvbmZpZ3VyZTo1MTk4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1MjAzOiBjaGVj a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcwpjb25maWd1cmU6NTIyNTogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1MjI5OiAkPyA9IDAKY29uZmlndXJlOjUyNTA6IHJl c3VsdDogbwpjb25maWd1cmU6NTI1NDogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhl IEdOVSBDIGNvbXBpbGVyCmNvbmZpZ3VyZTo1MjczOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtYyAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjUyNzM6ICQ/ID0gMApjb25maWd1cmU6NTI4MjogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjUyOTE6IGNoZWNraW5nIHdoZXRoZXIgPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgYWNj ZXB0cyAtZwpjb25maWd1cmU6NTMxMTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLWcg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjUzMTE6ICQ/ID0gMApjb25maWd1cmU6NTM1MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUzNjk6 IGNoZWNraW5nIGZvciA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyBvcHRpb24gdG8gYWNjZXB0 IElTTyBDODkKY29uZmlndXJlOjU0MzI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjICAtYyAt TzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjU0MzI6ICQ/ID0gMApjb25maWd1cmU6NTQ0NTogcmVzdWx0OiBub25lIG5lZWRlZApjb25m aWd1cmU6NTQ3NjogY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSAvYmluL2dt YWtlCmNvbmZpZ3VyZTo1NTA0OiByZXN1bHQ6IEdOVQpjb25maWd1cmU6NTUzMDogY2hlY2tpbmcg ZGVwZW5kZW5jeSBzdHlsZSBvZiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYwpjb25maWd1cmU6 NTY0MTogcmVzdWx0OiBnY2MzCmNvbmZpZ3VyZTo1NjU3OiBjaGVja2luZyB3aGV0aGVyIDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhl cgpjb25maWd1cmU6NTY4ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgY29uZnRlc3Qu YyAtbyBjb25mdGVzdDIubyA+JjUKY29uZmlndXJlOjU2OTI6ICQ/ID0gMApjb25maWd1cmU6NTY5 ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdDIu byA+JjUKY29uZmlndXJlOjU3MDI6ICQ/ID0gMApjb25maWd1cmU6NTcxMzogY2MgLWMgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjU3MTc6ICQ/ID0gMApjb25maWd1cmU6NTcyNTogY2MgLWMgY29u ZnRlc3QuYyAtbyBjb25mdGVzdDIubyA+JjUKY29uZmlndXJlOjU3Mjk6ICQ/ID0gMApjb25maWd1 cmU6NTczNTogY2MgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdDIubyA+JjUKY29uZmlndXJlOjU3 Mzk6ICQ/ID0gMApjb25maWd1cmU6NTc1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU3OTk6IGNo ZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZTo1ODMwOiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtRSAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSBjb25mdGVzdC5jCmNvbmZpZ3VyZTo1ODMwOiAkPyA9IDAKY29uZmlndXJlOjU4NDQ6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1FICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRl IGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMToyODogZmF0YWwgZXJyb3I6IGFjX25vbmV4aXN0ZW50 Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5o PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpj b25maWd1cmU6NTg0NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3VyZTo1ODY5OiByZXN1bHQ6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1FCmNvbmZpZ3VyZTo1ODg5OiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtRSAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5j CmNvbmZpZ3VyZTo1ODg5OiAkPyA9IDAKY29uZmlndXJlOjU5MDM6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1FICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMK Y29uZnRlc3QuYzoxMToyODogZmF0YWwgZXJyb3I6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NTkw MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMyIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFj X25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3VyZTo1OTMyOiBjaGVja2luZyBmb3IgZ3JlcCB0aGF0IGhh bmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUKY29uZmlndXJlOjU5OTA6IHJlc3VsdDogL3Vzci9sb2Nh bC9iaW4vZ3JlcApjb25maWd1cmU6NTk5NTogY2hlY2tpbmcgZm9yIGVncmVwCmNvbmZpZ3VyZTo2 MDU3OiByZXN1bHQ6IC91c3IvbG9jYWwvYmluL2dyZXAgLUUKY29uZmlndXJlOjYwNjQ6IGNoZWNr aW5nIGZvciBNaW5peCBBbXN0ZXJkYW0gY29tcGlsZXIKY29uZmlndXJlOjYwODg6IHJlc3VsdDog bm8KY29uZmlndXJlOjYxNDA6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6NjE1NjogZm91bmQg L2Jpbi9hcgpjb25maWd1cmU6NjE2NzogcmVzdWx0OiBhcgpjb25maWd1cmU6NjI0NzogY2hlY2tp bmcgZm9yIHJhbmxpYgpjb25maWd1cmU6NjI2MzogZm91bmQgL2Jpbi9yYW5saWIKY29uZmlndXJl OjYyNzQ6IHJlc3VsdDogcmFubGliCmNvbmZpZ3VyZTo2MzAwOiBjaGVja2luZyBmb3IgQU5TSSBD IGhlYWRlciBmaWxlcwpjb25maWd1cmU6NjMyMDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LWMgLU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZTo2MzIwOiAkPyA9IDAKY29uZmlndXJlOjYzOTM6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1vIGNvbmZ0ZXN0IC1PMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NjM5 MzogJD8gPSAwCmNvbmZpZ3VyZTo2MzkzOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo2MzkzOiAkPyA9 IDAKY29uZmlndXJlOjY0MDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NDE3OiBjaGVja2luZyBm b3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjY0MTc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1jIC1PMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6NjQxNzogJD8gPSAwCmNvbmZpZ3VyZTo2NDE3OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6NjQxNzogY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmgKY29uZmlndXJlOjY0MTc6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1jIC1PMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjQxNzogJD8gPSAwCmNvbmZpZ3VyZTo2NDE3OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6NjQxNzogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3Vy ZTo2NDE3OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtYyAtTzMgIC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY0MTc6ICQ/ID0gMApj b25maWd1cmU6NjQxNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY0MTc6IGNoZWNraW5nIGZvciBz dHJpbmcuaApjb25maWd1cmU6NjQxNzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8z ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo2NDE3OiAkPyA9IDAKY29uZmlndXJlOjY0MTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NDE3 OiBjaGVja2luZyBmb3IgbWVtb3J5LmgKY29uZmlndXJlOjY0MTc6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1jIC1PMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6NjQxNzogJD8gPSAwCmNvbmZpZ3VyZTo2NDE3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6NjQxNzogY2hlY2tpbmcgZm9yIHN0cmluZ3MuaApjb25maWd1cmU6NjQxNzog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NDE3OiAkPyA9IDAKY29uZmlndXJl OjY0MTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NDE3OiBjaGVja2luZyBmb3IgaW50dHlwZXMu aApjb25maWd1cmU6NjQxNzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8zICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NDE3 OiAkPyA9IDAKY29uZmlndXJlOjY0MTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NDE3OiBjaGVj a2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjY0MTc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1jIC1PMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6NjQxNzogJD8gPSAwCmNvbmZpZ3VyZTo2NDE3OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NjQxNzogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTo2NDE3OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtYyAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY0MTc6ICQ/ID0gMApjb25maWd1cmU6NjQxNzog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjY0MzI6IGNoZWNraW5nIG1pbml4L2NvbmZpZy5oIHVzYWJp bGl0eQpjb25maWd1cmU6NjQzMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8zICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 NTQ6MjY6IGZhdGFsIGVycm9yOiBtaW5peC9jb25maWcuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQogI2luY2x1ZGUgPG1pbml4L2NvbmZpZy5oPgogICAgICAgICAgICAgICAgICAgICAgICAg IF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjY0MzI6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFj cyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMi CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9I CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMK fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj IGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVS UyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVu ZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdT X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBF U19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElO VF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERf SAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPG1pbml4L2NvbmZp Zy5oPgpjb25maWd1cmU6NjQzMjogcmVzdWx0OiBubwpjb25maWd1cmU6NjQzMjogY2hlY2tpbmcg bWluaXgvY29uZmlnLmggcHJlc2VuY2UKY29uZmlndXJlOjY0MzI6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1FICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMK Y29uZnRlc3QuYzoyMToyNjogZmF0YWwgZXJyb3I6IG1pbml4L2NvbmZpZy5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8bWluaXgvY29uZmlnLmg+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NjQzMjogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1pbml4L2NvbmZpZy5oPgpjb25maWd1cmU6 NjQzMjogcmVzdWx0OiBubwpjb25maWd1cmU6NjQzMjogY2hlY2tpbmcgZm9yIG1pbml4L2NvbmZp Zy5oCmNvbmZpZ3VyZTo2NDMyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NDYxOiBjaGVja2luZyB3 aGV0aGVyIGl0IGlzIHNhZmUgdG8gZGVmaW5lIF9fRVhURU5TSU9OU19fCmNvbmZpZ3VyZTo2NDc5 OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtYyAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY0Nzk6ICQ/ID0gMApjb25maWd1 cmU6NjQ4NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY1MTU6IGNoZWNraW5nIGZvciBzcGVjaWFs IEMgY29tcGlsZXIgb3B0aW9ucyBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCmNvbmZpZ3VyZTo2NTYw OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTY2OiBjaGVja2luZyBmb3IgX0ZJTEVfT0ZGU0VUX0JJ VFMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6NjU5MTogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MzM6Mzogd2FybmluZzogbGVmdCBzaGlmdCBjb3Vu dCA+PSB3aWR0aCBvZiB0eXBlIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiAgIGludCBvZmZfdF9pc19s YXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQogICBeCmNvbmZ0ZXN0LmM6MzM6 Mzogd2FybmluZzogbGVmdCBzaGlmdCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlIFtlbmFibGVkIGJ5 IGRlZmF1bHRdCmNvbmZ0ZXN0LmM6MzQ6MTA6IHdhcm5pbmc6IGxlZnQgc2hpZnQgY291bnQgPj0g d2lkdGggb2YgdHlwZSBbZW5hYmxlZCBieSBkZWZhdWx0XQogICAgICAgICAgJiYgTEFSR0VfT0ZG X1QgJSAyMTQ3NDgzNjQ3ID09IDEpCiAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MzQ6MTA6IHdhcm5p bmc6IGxlZnQgc2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlwZSBbZW5hYmxlZCBieSBkZWZhdWx0 XQpjb25mdGVzdC5jOjMzOjc6IGVycm9yOiB2YXJpYWJseSBtb2RpZmllZCAnb2ZmX3RfaXNfbGFy Z2UnIGF0IGZpbGUgc2NvcGUKICAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIx NDc0ODM2MjkgPT0gNzIxCiAgICAgICBeCmNvbmZpZ3VyZTo2NTkxOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJl cHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5Lgp8ICAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5l IExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCnwgICAgIHNpbmNlIHNvbWUg QysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKfCAgICAgaW5jb3JyZWN0 bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLwp8ICNkZWZpbmUgTEFSR0VfT0ZGX1Qg KCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQp8ICAgaW50IG9mZl90 X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCnwgCQkgICAgICAgJiYg TEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCnwgCQkgICAgICA/IDEgOiAtMV07CnwgaW50 CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjY2MTU6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1jIC1PMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjM0OjM6IHdhcm5pbmc6IGxlZnQg c2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlwZSBbZW5hYmxlZCBieSBkZWZhdWx0XQogICBpbnQg b2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKICAgXgpjb25m dGVzdC5jOjM0OjM6IHdhcm5pbmc6IGxlZnQgc2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlwZSBb ZW5hYmxlZCBieSBkZWZhdWx0XQpjb25mdGVzdC5jOjM1OjEwOiB3YXJuaW5nOiBsZWZ0IHNoaWZ0 IGNvdW50ID49IHdpZHRoIG9mIHR5cGUgW2VuYWJsZWQgYnkgZGVmYXVsdF0KICAgICAgICAgICYm IExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQogICAgICAgICAgXgpjb25mdGVzdC5jOjM1 OjEwOiB3YXJuaW5nOiBsZWZ0IHNoaWZ0IGNvdW50ID49IHdpZHRoIG9mIHR5cGUgW2VuYWJsZWQg YnkgZGVmYXVsdF0KY29uZnRlc3QuYzozNDo3OiBlcnJvcjogdmFyaWFibHkgbW9kaWZpZWQgJ29m Zl90X2lzX2xhcmdlJyBhdCBmaWxlIHNjb3BlCiAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0Vf T0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQogICAgICAgXgpjb25maWd1cmU6NjYxNTogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAgLyogQ2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0g MSBjb3JyZWN0bHkuCnwgICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8g YmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKfCAgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1h c3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycwp8ICAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3 MjAzNjg1NDc3NTgwNy4gICovCnwgI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2 MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCnwgICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdF X09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKfCAJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIx NDc0ODM2NDcgPT0gMSkKfCAJCSAgICAgID8gMSA6IC0xXTsKfCBpbnQKfCBtYWluICgpCnwgewp8 IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NjYyMzogcmVzdWx0OiB1bmtub3du CmNvbmZpZ3VyZTo2NjM1OiBjaGVja2luZyBmb3IgX0xBUkdFX0ZJTEVTIHZhbHVlIG5lZWRlZCBm b3IgbGFyZ2UgZmlsZXMKY29uZmlndXJlOjY2NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1jIC1PMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOjMzOjM6IHdhcm5pbmc6IGxlZnQgc2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlw ZSBbZW5hYmxlZCBieSBkZWZhdWx0XQogICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9U ICUgMjE0NzQ4MzYyOSA9PSA3MjEKICAgXgpjb25mdGVzdC5jOjMzOjM6IHdhcm5pbmc6IGxlZnQg c2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlwZSBbZW5hYmxlZCBieSBkZWZhdWx0XQpjb25mdGVz dC5jOjM0OjEwOiB3YXJuaW5nOiBsZWZ0IHNoaWZ0IGNvdW50ID49IHdpZHRoIG9mIHR5cGUgW2Vu YWJsZWQgYnkgZGVmYXVsdF0KICAgICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9 PSAxKQogICAgICAgICAgXgpjb25mdGVzdC5jOjM0OjEwOiB3YXJuaW5nOiBsZWZ0IHNoaWZ0IGNv dW50ID49IHdpZHRoIG9mIHR5cGUgW2VuYWJsZWQgYnkgZGVmYXVsdF0KY29uZnRlc3QuYzozMzo3 OiBlcnJvcjogdmFyaWFibHkgbW9kaWZpZWQgJ29mZl90X2lzX2xhcmdlJyBhdCBmaWxlIHNjb3Bl CiAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQog ICAgICAgXgpjb25maWd1cmU6NjY2MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBB Q0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5l IF9UQU5ERU1fU09VUkNFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5 cy90eXBlcy5oPgp8ICAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAx IGNvcnJlY3RseS4KfCAgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBi ZSA5MjIzMzcyMDM2ODU0Nzc1ODA3LAp8ICAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFz cXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCnwgICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcy MDM2ODU0Nzc1ODA3LiAgKi8KfCAjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYy KSAtIDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKfCAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0Vf T0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQp8IAkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0 NzQ4MzY0NyA9PSAxKQp8IAkJICAgICAgPyAxIDogLTFdOwp8IGludAp8IG1haW4gKCkKfCB7Cnwg CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2Njg0OiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtYyAtTzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjY2ODQ6ICQ/ID0gMApjb25maWd1cmU6NjY5MjogcmVzdWx0OiAx CmNvbmZpZ3VyZTo2NzEyOiBjaGVja2luZyBmb3IgPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg b3B0aW9uIHRvIGFjY2VwdCBJU08gQzk5CmNvbmZpZ3VyZTo2ODYxOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAgLWMgLU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzg6Mjk6IGVycm9yOiBleHBlY3RlZCAnOycsICcsJyBvciAn KScgYmVmb3JlICd0ZXh0JwogdGVzdF9yZXN0cmljdCAoY2NwIHJlc3RyaWN0IHRleHQpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6 CmNvbmZ0ZXN0LmM6MTMyOjE4OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScg b3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnbmV3dmFyJwogICBjaGFyICpyZXN0cmljdCBuZXd2 YXIgPSAiQW5vdGhlciBzdHJpbmciOwogICAgICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MTMy OjE4OiBlcnJvcjogJ25ld3ZhcicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCmNvbmZ0ZXN0LmM6MTMyOjE4OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBp cyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25m dGVzdC5jOjE0MjozOiBlcnJvcjogJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUg b25seSBhbGxvd2VkIGluIEM5OSBtb2RlCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgaWEtPmRhdGFz aXplOyArK2kpCiAgIF4KY29uZnRlc3QuYzoxNDI6Mzogbm90ZTogdXNlIG9wdGlvbiAtc3RkPWM5 OSBvciAtc3RkPWdudTk5IHRvIGNvbXBpbGUgeW91ciBjb2RlCmNvbmZpZ3VyZTo2ODYxOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0xBUkdFX0ZJTEVTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGFy Zy5oPgp8ICNpbmNsdWRlIDxzdGRib29sLmg+CnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNs dWRlIDx3Y2hhci5oPgp8ICNpbmNsdWRlIDxzdGRpby5oPgp8IAp8IC8vIENoZWNrIHZhcmFyZ3Mg bWFjcm9zLiAgVGhlc2UgZXhhbXBsZXMgYXJlIHRha2VuIGZyb20gQzk5IDYuMTAuMy41Lgp8ICNk ZWZpbmUgZGVidWcoLi4uKSBmcHJpbnRmIChzdGRlcnIsIF9fVkFfQVJHU19fKQp8ICNkZWZpbmUg c2hvd2xpc3QoLi4uKSBwdXRzICgjX19WQV9BUkdTX18pCnwgI2RlZmluZSByZXBvcnQodGVzdCwu Li4pICgodGVzdCkgPyBwdXRzICgjdGVzdCkgOiBwcmludGYgKF9fVkFfQVJHU19fKSkKfCBzdGF0 aWMgdm9pZAp8IHRlc3RfdmFyYXJnc19tYWNyb3MgKHZvaWQpCnwgewp8ICAgaW50IHggPSAxMjM0 Owp8ICAgaW50IHkgPSA1Njc4Owp8ICAgZGVidWcgKCJGbGFnIik7CnwgICBkZWJ1ZyAoIlggPSAl ZFxuIiwgeCk7CnwgICBzaG93bGlzdCAoVGhlIGZpcnN0LCBzZWNvbmQsIGFuZCB0aGlyZCBpdGVt cy4pOwp8ICAgcmVwb3J0ICh4PnksICJ4IGlzICVkIGJ1dCB5IGlzICVkIiwgeCwgeSk7CnwgfQp8 IAp8IC8vIENoZWNrIGxvbmcgbG9uZyB0eXBlcy4KfCAjZGVmaW5lIEJJRzY0IDE4NDQ2NzQ0MDcz NzA5NTUxNjE1dWxsCnwgI2RlZmluZSBCSUczMiA0Mjk0OTY3Mjk1dWwKfCAjZGVmaW5lIEJJR19P SyAoQklHNjQgLyBCSUczMiA9PSA0Mjk0OTY3Mjk3dWxsICYmIEJJRzY0ICUgQklHMzIgPT0gMCkK fCAjaWYgIUJJR19PSwp8ICAgeW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNlbmRpZgp8 ICNpZiBCSUdfT0sKfCAjZWxzZQp8ICAgeW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNl bmRpZgp8IHN0YXRpYyBsb25nIGxvbmcgaW50IGJpZ251bSA9IC05MjIzMzcyMDM2ODU0Nzc1ODA3 TEw7Cnwgc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdWJpZ251bSA9IEJJRzY0Owp8IAp8 IHN0cnVjdCBpbmNvbXBsZXRlX2FycmF5Cnwgewp8ICAgaW50IGRhdGFzaXplOwp8ICAgZG91Ymxl IGRhdGFbXTsKfCB9Owp8IAp8IHN0cnVjdCBuYW1lZF9pbml0IHsKfCAgIGludCBudW1iZXI7Cnwg ICBjb25zdCB3Y2hhcl90ICpuYW1lOwp8ICAgZG91YmxlIGF2ZXJhZ2U7CnwgfTsKfCAKfCB0eXBl ZGVmIGNvbnN0IGNoYXIgKmNjcDsKfCAKfCBzdGF0aWMgaW5saW5lIGludAp8IHRlc3RfcmVzdHJp Y3QgKGNjcCByZXN0cmljdCB0ZXh0KQp8IHsKfCAgIC8vIFNlZSBpZiBDKystc3R5bGUgY29tbWVu dHMgd29yay4KfCAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBpdGVtcyB2aWEgdGhlIHJlc3RyaWN0ZWQg cG9pbnRlci4KfCAgIC8vIEFsc28gY2hlY2sgZm9yIGRlY2xhcmF0aW9ucyBpbiBmb3IgbG9vcHMu CnwgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgKih0ZXh0K2kpICE9ICdcMCc7ICsraSkKfCAg ICAgY29udGludWU7CnwgICByZXR1cm4gMDsKfCB9CnwgCnwgLy8gQ2hlY2sgdmFyYXJncyBhbmQg dmFfY29weS4KfCBzdGF0aWMgdm9pZAp8IHRlc3RfdmFyYXJncyAoY29uc3QgY2hhciAqZm9ybWF0 LCAuLi4pCnwgewp8ICAgdmFfbGlzdCBhcmdzOwp8ICAgdmFfc3RhcnQgKGFyZ3MsIGZvcm1hdCk7 CnwgICB2YV9saXN0IGFyZ3NfY29weTsKfCAgIHZhX2NvcHkgKGFyZ3NfY29weSwgYXJncyk7Cnwg CnwgICBjb25zdCBjaGFyICpzdHI7CnwgICBpbnQgbnVtYmVyOwp8ICAgZmxvYXQgZm51bWJlcjsK fCAKfCAgIHdoaWxlICgqZm9ybWF0KQp8ICAgICB7CnwgICAgICAgc3dpdGNoICgqZm9ybWF0Kysp CnwgCXsKfCAJY2FzZSAncyc6IC8vIHN0cmluZwp8IAkgIHN0ciA9IHZhX2FyZyAoYXJnc19jb3B5 LCBjb25zdCBjaGFyICopOwp8IAkgIGJyZWFrOwp8IAljYXNlICdkJzogLy8gaW50CnwgCSAgbnVt YmVyID0gdmFfYXJnIChhcmdzX2NvcHksIGludCk7CnwgCSAgYnJlYWs7CnwgCWNhc2UgJ2YnOiAv LyBmbG9hdAp8IAkgIGZudW1iZXIgPSB2YV9hcmcgKGFyZ3NfY29weSwgZG91YmxlKTsKfCAJICBi cmVhazsKfCAJZGVmYXVsdDoKfCAJICBicmVhazsKfCAJfQp8ICAgICB9CnwgICB2YV9lbmQgKGFy Z3NfY29weSk7CnwgICB2YV9lbmQgKGFyZ3MpOwp8IH0KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IAp8ICAgLy8gQ2hlY2sgYm9vbC4KfCAgIF9Cb29sIHN1Y2Nlc3MgPSBmYWxzZTsKfCAKfCAgIC8v IENoZWNrIHJlc3RyaWN0Lgp8ICAgaWYgKHRlc3RfcmVzdHJpY3QgKCJTdHJpbmcgbGl0ZXJhbCIp ID09IDApCnwgICAgIHN1Y2Nlc3MgPSB0cnVlOwp8ICAgY2hhciAqcmVzdHJpY3QgbmV3dmFyID0g IkFub3RoZXIgc3RyaW5nIjsKfCAKfCAgIC8vIENoZWNrIHZhcmFyZ3MuCnwgICB0ZXN0X3ZhcmFy Z3MgKCJzLCBkJyBmIC4iLCAic3RyaW5nIiwgNjUsIDM0LjIzNCk7CnwgICB0ZXN0X3ZhcmFyZ3Nf bWFjcm9zICgpOwp8IAp8ICAgLy8gQ2hlY2sgZmxleGlibGUgYXJyYXkgbWVtYmVycy4KfCAgIHN0 cnVjdCBpbmNvbXBsZXRlX2FycmF5ICppYSA9CnwgICAgIG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3Qg aW5jb21wbGV0ZV9hcnJheSkgKyAoc2l6ZW9mIChkb3VibGUpICogMTApKTsKfCAgIGlhLT5kYXRh c2l6ZSA9IDEwOwp8ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpYS0+ZGF0YXNpemU7ICsraSkKfCAg ICAgaWEtPmRhdGFbaV0gPSBpICogMS4yMzQ7CnwgCnwgICAvLyBDaGVjayBuYW1lZCBpbml0aWFs aXplcnMuCnwgICBzdHJ1Y3QgbmFtZWRfaW5pdCBuaSA9IHsKfCAgICAgLm51bWJlciA9IDM0LAp8 ICAgICAubmFtZSA9IEwiVGVzdCB3aWRlIHN0cmluZyIsCnwgICAgIC5hdmVyYWdlID0gNTQzLjM0 MzQzLAp8ICAgfTsKfCAKfCAgIG5pLm51bWJlciA9IDU4Owp8IAp8ICAgaW50IGR5bmFtaWNfYXJy YXlbbmkubnVtYmVyXTsKfCAgIGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gPSA1NDM7Cnwg CnwgICAvLyB3b3JrIGFyb3VuZCB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MKfCAgIHJldHVybiAo IXN1Y2Nlc3MgfHwgYmlnbnVtID09IDBMTCB8fCB1YmlnbnVtID09IDB1TEwgfHwgbmV3dmFyWzBd ID09ICd4Jwp8IAkgIHx8IGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gIT0gNTQzKTsKfCAK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjY4NjE6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2ODYxOiAkPyA9IDAKY29uZmlndXJlOjY4ODE6 IHJlc3VsdDogLXN0ZD1nbnU5OQpjb25maWd1cmU6Njk4MjogY2hlY2tpbmcgZm9yIDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgb3B0aW9uIHRvIGFjY2VwdCBJU08gU3RhbmRh cmQgQwpjb25maWd1cmU6Njk5NjogcmVzdWx0OiAtc3RkPWdudTk5CmNvbmZpZ3VyZTo3MTQ5OiBj aGVja2luZyB3aGV0aGVyIGxpbmstdGltZSBvcHRpbWl6YXRpb24gaXMgc3VwcG9ydGVkCmNvbmZp Z3VyZTo3MTcyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAt Zmx0byAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjYzE6 IGVycm9yOiBMVE8gc3VwcG9ydCBoYXMgbm90IGJlZW4gZW5hYmxlZCBpbiB0aGlzIGNvbmZpZ3Vy YXRpb24KY29uZmlndXJlOjcxNzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNL QUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6NzE4MDogcmVzdWx0OiBubwpjb25maWd1cmU6NzkyOTogY2hlY2tpbmcgd2hl dGhlciBsbiAtcyB3b3Jrcwpjb25maWd1cmU6NzkzMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjc5 NDM6IGNoZWNraW5nIGZvciBpbnN0YWxsLWluZm8KY29uZmlndXJlOjc5NjE6IGZvdW5kIC9vcHQv ZnJlZXdhcmUvYmluL2luc3RhbGwtaW5mbwpjb25maWd1cmU6Nzk3NDogcmVzdWx0OiAvb3B0L2Zy ZWV3YXJlL2Jpbi9pbnN0YWxsLWluZm8KY29uZmlndXJlOjc5ODQ6IGNoZWNraW5nIGZvciBnemlw CmNvbmZpZ3VyZTo4MDAyOiBmb3VuZCAvdXNyL2xvY2FsL2Jpbi9nemlwCmNvbmZpZ3VyZTo4MDE0 OiByZXN1bHQ6IC91c3IvbG9jYWwvYmluL2d6aXAKY29uZmlndXJlOjgwOTI6IGNoZWNraW5nIGZv ciBtYWtlaW5mbwpjb25maWd1cmU6ODEyMzogcmVzdWx0OiBubwpjb25maWd1cmU6ODE4MjogY2hl Y2tpbmcgZm9yIC16bm9jb21icmVsb2MKY29uZmlndXJlOjgxOTU6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC16bm9jb21icmVs b2MgY29uZnRlc3QuYyAgPiY1CmxkOiAwNzA2LTAyNyBUaGUgLW4gZmxhZyBpcyBpZ25vcmVkLgpj b2xsZWN0MjogZmF0YWwgZXJyb3I6IGNvbmZ0ZXN0OiBjYW5ub3Qgb3BlbiBhcyBDT0ZGIGZpbGUK Y29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjgxOTU6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAy NC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6ODIwMDogcmVzdWx0OiBubwpjb25maWd1cmU6 ODUyOTogY2hlY2tpbmcgZm9yIHBrZy1jb25maWcKY29uZmlndXJlOjg1NDc6IGZvdW5kIC9iaW4v cGtnLWNvbmZpZwpjb25maWd1cmU6ODU2MDogcmVzdWx0OiAvYmluL3BrZy1jb25maWcKY29uZmln dXJlOjg3NTk6IGNoZWNraW5nIGZvciBsaW51eC92ZXJzaW9uLmgKY29uZmlndXJlOjg3NTk6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo2MzoyNzogZmF0 YWwgZXJyb3I6IGxpbnV4L3ZlcnNpb24uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2lu Y2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb21w aWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6ODc1OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwg I2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8 c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NU RExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBI QVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVk ZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRl IDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVk ZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVk ZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUg PHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CmNvbmZp Z3VyZTo4NzU5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4NzU5OiBjaGVja2luZyBmb3Igc3lzL3N5 c3RlbWluZm8uaApjb25maWd1cmU6ODc1OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjYzOjI4OiBmYXRhbCBlcnJvcjogc3lzL3N5c3RlbWluZm8uaDog Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHN5cy9zeXN0ZW1pbmZvLmg+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZp Z3VyZTo4NzU5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3Mi CnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgi CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBI QVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3Rk ZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFk ZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRl IDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwg I2luY2x1ZGUgPHN5cy9zeXN0ZW1pbmZvLmg+CmNvbmZpZ3VyZTo4NzU5OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo4NzU5OiBjaGVja2luZyBmb3Igc3RkaW9fZXh0LmgKY29uZmlndXJlOjg3NTk6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo2MzoyMzogZmF0 YWwgZXJyb3I6IHN0ZGlvX2V4dC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVk ZSA8c3RkaW9fZXh0Lmg+CiAgICAgICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJt aW5hdGVkLgpjb25maWd1cmU6ODc1OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBB Q0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5l IF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiYWl4Igp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8u aD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4K fCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj IGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAg aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklO R19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9I CnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8 ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxzdGRpb19leHQuaD4KY29uZmlndXJlOjg3NTk6IHJlc3Vs dDogbm8KY29uZmlndXJlOjg3NTk6IGNoZWNraW5nIGZvciBmY250bC5oCmNvbmZpZ3VyZTo4NzU5 OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzU5OiAk PyA9IDAKY29uZmlndXJlOjg3NTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzU5OiBjaGVja2lu ZyBmb3IgY29mZi5oCmNvbmZpZ3VyZTo4NzU5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NjQ6MTg6IGZhdGFsIGVycm9yOiBjb2ZmLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxjb2ZmLmg+CiAgICAgICAgICAgICAgICAgIF4K Y29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjg3NTk6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAy NC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMg MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZF X1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVm Lmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZp bmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxt ZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2lu Y2x1ZGUgPGNvZmYuaD4KY29uZmlndXJlOjg3NTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjg3NTk6 IGNoZWNraW5nIGZvciBwdHkuaApjb25maWd1cmU6ODc1OTogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjY0OjE3OiBmYXRhbCBlcnJvcjogcHR5Lmg6IE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxwdHkuaD4KICAgICAgICAgICAgICAg ICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo4NzU5OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4z Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9T RU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJ TEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0gg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8 ICNpbmNsdWRlIDxwdHkuaD4KY29uZmlndXJlOjg3NTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjg3 NTk6IGNoZWNraW5nIGZvciBzeXMvdmxpbWl0LmgKY29uZmlndXJlOjg3NTk6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjg3NTk6ICQ/ID0gMApjb25maWd1 cmU6ODc1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3NTk6IGNoZWNraW5nIGZvciBzeXMvcmVz b3VyY2UuaApjb25maWd1cmU6ODc1OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6ODc1OTogJD8gPSAwCmNvbmZpZ3VyZTo4NzU5OiByZXN1bHQ6IHllcwpj b25maWd1cmU6ODc1OTogY2hlY2tpbmcgZm9yIHN5cy91dHNuYW1lLmgKY29uZmlndXJlOjg3NTk6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjg3NTk6ICQ/ ID0gMApjb25maWd1cmU6ODc1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3NTk6IGNoZWNraW5n IGZvciBwd2QuaApjb25maWd1cmU6ODc1OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6ODc1OTogJD8gPSAwCmNvbmZpZ3VyZTo4NzU5OiByZXN1bHQ6IHll cwpjb25maWd1cmU6ODc1OTogY2hlY2tpbmcgZm9yIHV0bXAuaApjb25maWd1cmU6ODc1OTogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODc1OTogJD8gPSAw CmNvbmZpZ3VyZTo4NzU5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODc1OTogY2hlY2tpbmcgZm9y IGRpcmVudC5oCmNvbmZpZ3VyZTo4NzU5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3Rk PWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo4NzU5OiAkPyA9IDAKY29uZmlndXJlOjg3NTk6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo4NzU5OiBjaGVja2luZyBmb3IgdXRpbC5oCmNvbmZpZ3VyZTo4NzU5OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NzA6MTg6IGZhdGFs IGVycm9yOiB1dGlsLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDx1dGls Lmg+CiAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJl Ojg3NTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAj ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3Rk aW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQu aD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwg IyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9S WV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5n Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlw ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50 Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDx1dGlsLmg+CmNvbmZpZ3VyZTo4NzU5OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZTo4NzU5OiBjaGVja2luZyBmb3Igc3lzL3NvY2tldC5oCmNvbmZpZ3VyZTo4 NzU5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzU5 OiAkPyA9IDAKY29uZmlndXJlOjg3NTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzU5OiBjaGVj a2luZyBmb3Igc3RkbGliLmgKY29uZmlndXJlOjg3NTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4 NzU5OiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29uZmlndXJlOjg3NTk6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo4NzU5OiBjaGVja2luZyBmb3Igc3lzL3BhcmFtLmgKY29uZmlndXJlOjg3NTk6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjg3NTk6ICQ/ID0g MApjb25maWd1cmU6ODc1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3NTk6IGNoZWNraW5nIGZv ciBwdGhyZWFkLmgKY29uZmlndXJlOjg3NTk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjg3NTk6ICQ/ID0gMApjb25maWd1cmU6ODc1OTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjg3NTk6IGNoZWNraW5nIGZvciBtYWxsb2MvbWFsbG9jLmgKY29uZmlndXJl Ojg3NTk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3 NToyNzogZmF0YWwgZXJyb3I6IG1hbGxvYy9tYWxsb2MuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQogI2luY2x1ZGUgPG1hbGxvYy9tYWxsb2MuaD4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6ODc1OTogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu MyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9G SUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMv c3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElC X0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVf TUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxz dHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0 cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxp bnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxz dGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5p c3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPG1hbGxvYy9tYWxsb2MuaD4KY29uZmlndXJl Ojg3NTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjg3NTk6IGNoZWNraW5nIGZvciBtYWlsbG9jay5o CmNvbmZpZ3VyZTo4NzU5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1j IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6NzU6MjI6IGZhdGFsIGVycm9yOiBtYWlsbG9jay5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CiAjaW5jbHVkZSA8bWFpbGxvY2suaD4KICAgICAgICAgICAgICAgICAgICAgIF4K Y29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjg3NTk6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAy NC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMg MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3Rk aW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQu aD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwg IyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9S WV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5n Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlw ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50 Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxtYWlsbG9jay5oPgpjb25maWd1cmU6ODc1OTogcmVz dWx0OiBubwpjb25maWd1cmU6ODc1OTogY2hlY2tpbmcgZm9yIHN5cy91bi5oCmNvbmZpZ3VyZTo4 NzU5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzU5 OiAkPyA9IDAKY29uZmlndXJlOjg3NTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzU5OiBjaGVj a2luZyBmb3IgZXhlY2luZm8uaApjb25maWd1cmU6ODc1OTogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc2OjIyOiBmYXRhbCBlcnJvcjogZXhlY2luZm8u aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CiAgICAg ICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo4NzU5 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmlu ZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VO X0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZk ZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUg PHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBp ZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5j bHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8 IAp8ICNpbmNsdWRlIDxleGVjaW5mby5oPgpjb25maWd1cmU6ODc1OTogcmVzdWx0OiBubwpjb25m aWd1cmU6ODc1OTogY2hlY2tpbmcgZm9yIGdldG9wdC5oCmNvbmZpZ3VyZTo4NzU5OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NzY6MjA6IGZhdGFsIGVy cm9yOiBnZXRvcHQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPGdldG9w dC5oPgogICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmln dXJlOjg3NTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIK fCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVm aW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVU5fSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5o Pgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg aW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBp bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H X0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gK fCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+Cnwg I2VuZGlmCnwgCnwgI2luY2x1ZGUgPGdldG9wdC5oPgpjb25maWd1cmU6ODc1OTogcmVzdWx0OiBu bwpjb25maWd1cmU6ODc1OTogY2hlY2tpbmcgZm9yIHN5cy90aW1lLmgKY29uZmlndXJlOjg3NTk6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjg3NTk6ICQ/ ID0gMApjb25maWd1cmU6ODc1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3NTk6IGNoZWNraW5n IGZvciB3Y2hhci5oCmNvbmZpZ3VyZTo4NzU5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzU5OiAkPyA9IDAKY29uZmlndXJlOjg3NTk6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTo4NzU5OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjg3NTk6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzU5OiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25m aWd1cmU6ODc1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3NTk6IGNoZWNraW5nIGZvciBzeXMv c2VsZWN0LmgKY29uZmlndXJlOjg3NTk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9 Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjg3NTk6ICQ/ID0gMApjb25maWd1cmU6ODc1OTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjg3NTk6IGNoZWNraW5nIGZvciBzeXMvc3RhdC5oCmNvbmZpZ3VyZTo4NzU5OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6ODc1OTogY2hlY2tpbmcgZm9yIHV0aW1lLmgKY29uZmlndXJl Ojg3NTk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjg3 NTk6ICQ/ID0gMApjb25maWd1cmU6ODc1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3OTg6IGNo ZWNraW5nIGlmIHBlcnNvbmFsaXR5IExJTlVYMzIgY2FuIGJlIHNldApjb25maWd1cmU6ODgxMTog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNE SVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjQ5OjI5OiBm YXRhbCBlcnJvcjogc3lzL3BlcnNvbmFsaXR5Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK ICNpbmNsdWRlIDxzeXMvcGVyc29uYWxpdHkuaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo4ODExOiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4z Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9T RU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJ TEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy9wZXJzb25h bGl0eS5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgcGVyc29uYWxpdHkgKFBFUl9MSU5VWDMyKQp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6ODgxNzogcmVzdWx0OiBubwpjb25maWd1 cmU6ODgyODogY2hlY2tpbmcgZm9yIHRlcm0uaApjb25maWd1cmU6ODgyODogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLUUgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25m dGVzdC5jCmNvbmZpZ3VyZTo4ODI4OiAkPyA9IDAKY29uZmlndXJlOjg4Mjg6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo4ODM4OiBjaGVja2luZyB3aGV0aGVyIHRpbWUuaCBhbmQgc3lzL3RpbWUuaCBt YXkgYm90aCBiZSBpbmNsdWRlZApjb25maWd1cmU6ODg1ODogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODg1ODogJD8gPSAwCmNvbmZpZ3VyZTo4ODY1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6ODg3MzogY2hlY2tpbmcgd2hldGhlciBzeXNfc2lnbGlzdCBp cyBkZWNsYXJlZApjb25maWd1cmU6ODg3MzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NjE6MTA6 IGVycm9yOiAnc3lzX3NpZ2xpc3QnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogICAodm9pZCkgc3lzX3NpZ2xpc3Q7CiAgICAgICAgICBeCmNvbmZ0ZXN0LmM6NjE6MTA6 IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBm b3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZTo4ODczOiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi ZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19F WFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9D X1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdF X0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRM X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzaWduYWwuaD4K fCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZm5kZWYgc3lzX3NpZ2xpc3QKfCAjaWZkZWYg X19jcGx1c3BsdXMKfCAgICh2b2lkKSBzeXNfc2lnbGlzdDsKfCAjZWxzZQp8ICAgKHZvaWQpIHN5 c19zaWdsaXN0Owp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6ODg3MzogcmVzdWx0OiBubwpjb25maWd1cmU6ODg4ODogY2hlY2tpbmcgd2hldGhl ciBfX3N5c19zaWdsaXN0IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo4ODg4OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoK Y29uZnRlc3QuYzo2MjoxMDogZXJyb3I6ICdfX3N5c19zaWdsaXN0JyB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgKHZvaWQpIF9fc3lzX3NpZ2xpc3Q7CiAgICAgICAg ICBeCmNvbmZ0ZXN0LmM6NjI6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlz IHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZp Z3VyZTo4ODg4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3Mi CnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgi CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJ R0xJU1QgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c2lnbmFsLmg+Cnwg CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIF9fc3lzX3NpZ2xpc3QKfCAjaWZkZWYg X19jcGx1c3BsdXMKfCAgICh2b2lkKSBfX3N5c19zaWdsaXN0Owp8ICNlbHNlCnwgICAodm9pZCkg X19zeXNfc2lnbGlzdDsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjg4ODg6IHJlc3VsdDogbm8KY29uZmlndXJlOjg5MDc6IGNoZWNraW5nIGZv ciBzeXMvd2FpdC5oIHRoYXQgaXMgUE9TSVguMSBjb21wYXRpYmxlCmNvbmZpZ3VyZTo4OTMzOiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4OTMzOiAkPyA9 IDAKY29uZmlndXJlOjg5NDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4OTQ5OiBjaGVja2luZyBm b3Igc3BlZWRfdApjb25maWd1cmU6ODk2NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6ODk2NTogJD8gPSAwCmNvbmZpZ3VyZTo4OTcyOiByZXN1bHQ6IHll cwpjb25maWd1cmU6ODk4NTogY2hlY2tpbmcgZm9yIG5ldC9pZi5oCmNvbmZpZ3VyZTo4OTg1OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4OTg1OiAkPyA9 IDAKY29uZmlndXJlOjg5ODU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5MDAxOiBjaGVja2luZyBm b3IgaWZhZGRycy5oCmNvbmZpZ3VyZTo5MDAxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6OTM6MjE6IGZhdGFsIGVycm9yOiBpZmFkZHJzLmg6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxpZmFkZHJzLmg+CiAgICAgICAgICAgICAg ICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjkwMDE6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFS R0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNO VExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERD X0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19T T0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUg PGlmYWRkcnMuaD4KY29uZmlndXJlOjkwMDE6IHJlc3VsdDogbm8KY29uZmlndXJlOjkwMTc6IGNo ZWNraW5nIGZvciBuZXQvaWZfZGwuaApjb25maWd1cmU6OTAxNzogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTAxNzogJD8gPSAwCmNvbmZpZ3VyZTo5MDE3 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTAzMjogY2hlY2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5p ZnJfZmxhZ3MKY29uZmlndXJlOjkwMzI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9 Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjkwMzI6ICQ/ID0gMApjb25maWd1cmU6OTAzMjogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjkwNDg6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZyX2h3YWRkcgpjb25m aWd1cmU6OTA0ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMg ICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTAyOjEyOiBlcnJvcjogJ3N0cnVj dCBpZnJlcScgaGFzIG5vIG1lbWJlciBuYW1lZCAnaWZyX2h3YWRkcicKIGlmIChhY19hZ2dyLmlm cl9od2FkZHIpCiAgICAgICAgICAgIF4KY29uZmlndXJlOjkwNDg6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAy NC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMg MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1RE Q19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8 ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBT VERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5 Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZ U19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVf TkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IuaWZyX2h3 YWRkcikKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjkwNDg6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEwMjoxOTogZXJyb3I6ICdzdHJ1Y3QgaWZyZXEnIGhh cyBubyBtZW1iZXIgbmFtZWQgJ2lmcl9od2FkZHInCiBpZiAoc2l6ZW9mIGFjX2FnZ3IuaWZyX2h3 YWRkcikKICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjkwNDg6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFj cyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMi CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklM RVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9T WVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg U1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5l ZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZF X1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhB VkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19h Z2dyLmlmcl9od2FkZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZTo5MDQ4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5MDY0OiBjaGVja2luZyBmb3Igc3RydWN0 IGlmcmVxLmlmcl9uZXRtYXNrCmNvbmZpZ3VyZTo5MDY0OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3Qu YzoxMDI6MTI6IGVycm9yOiAnc3RydWN0IGlmcmVxJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdpZnJf bmV0bWFzaycKIGlmIChhY19hZ2dyLmlmcl9uZXRtYXNrKQogICAgICAgICAgICBeCmNvbmZpZ3Vy ZTo5MDY0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJ U1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0 ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0 Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8 ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1P UllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmlu Zy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5n cy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGlu dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQu aD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gKfCAjaW5jbHVkZSA8c3lzL3NvY2tl dC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX05FVF9JRl9ICnwgI2luY2x1ZGUgPG5ldC9pZi5oPgp8 ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBpZnJlcSBhY19h Z2dyOwp8IGlmIChhY19hZ2dyLmlmcl9uZXRtYXNrKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0 dXJuIDA7CnwgfQpjb25maWd1cmU6OTA2NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTAyOjE5 OiBlcnJvcjogJ3N0cnVjdCBpZnJlcScgaGFzIG5vIG1lbWJlciBuYW1lZCAnaWZyX25ldG1hc2sn CiBpZiAoc2l6ZW9mIGFjX2FnZ3IuaWZyX25ldG1hc2spCiAgICAgICAgICAgICAgICAgICBeCmNv bmZpZ3VyZTo5MDY0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1h Y3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJh aXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNO QU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5 cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERM SUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFW RV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUg PHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8 c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUg PGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUg PHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1 bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gKfCAjaW5jbHVkZSA8c3lz L3NvY2tldC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX05FVF9JRl9ICnwgI2luY2x1ZGUgPG5ldC9p Zi5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBpZnJl cSBhY19hZ2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci5pZnJfbmV0bWFzaykKfCByZXR1cm4gMDsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjkwNjQ6IHJlc3VsdDogbm8KY29uZmln dXJlOjkwODA6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZyX2Jyb2FkYWRkcgpjb25maWd1 cmU6OTA4MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTAyOjU6IGVycm9yOiB1c2VkIHN0cnVj dCB0eXBlIHZhbHVlIHdoZXJlIHNjYWxhciBpcyByZXF1aXJlZAogaWYgKGFjX2FnZ3IuaWZyX2Jy b2FkYWRkcikKICAgICBeCmNvbmZpZ3VyZTo5MDgwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURf VCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gK fCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFU X0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVS Uwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8 ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYK fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFE RVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMg ZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklO R1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZ UEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RE SU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNU RF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU09DS0VU X0gKfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX05FVF9JRl9I CnwgI2luY2x1ZGUgPG5ldC9pZi5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg c3RhdGljIHN0cnVjdCBpZnJlcSBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLmlmcl9icm9hZGFkZHIp CnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5MDgwOiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5MDgwOiAkPyA9IDAK Y29uZmlndXJlOjkwODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5MDk2OiBjaGVja2luZyBmb3Ig c3RydWN0IGlmcmVxLmlmcl9hZGRyCmNvbmZpZ3VyZTo5MDk2OiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRl c3QuYzoxMDM6NTogZXJyb3I6IHVzZWQgc3RydWN0IHR5cGUgdmFsdWUgd2hlcmUgc2NhbGFyIGlz IHJlcXVpcmVkCiBpZiAoYWNfYWdnci5pZnJfYWRkcikKICAgICBeCmNvbmZpZ3VyZTo5MDk2OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBI QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9T WVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg U1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5l ZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZF X1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhB VkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IuaWZy X2FkZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5MDk2 OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5MDk2OiAk PyA9IDAKY29uZmlndXJlOjkwOTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5MTEyOiBjaGVja2lu ZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9hZGRyLnNhX2xlbgpjb25maWd1cmU6OTExMjogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTExMjogJD8gPSAwCmNv bmZpZ3VyZTo5MTEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTEzNjogY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgdXNpbmcgR05VIE1ha2UKY29uZmlndXJlOjkxNDU6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo5MTQ4OiBjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtTU1EIC1NRgpjb25m aWd1cmU6OTE2MzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMg LU1NRCAtTUYgZGVwcy5kIC1NUCAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5MTYzOiAkPyA9IDAKY29uZmlndXJlOjkxNzI6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo5MTkyOiBjaGVja2luZyBmb3IgbG9uZyBmaWxlIG5hbWVzCmNvbmZp Z3VyZTo5MjI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTI0MTogY2hlY2tpbmcgZm9yIFgKY29u ZmlndXJlOjkzNDk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1FICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6OTM0OTogJD8gPSAwCmNv bmZpZ3VyZTo5MzgwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy9saWIgY29uZnRlc3QuYyAtbFgxMSAgPiY1IApjb25maWd1cmU6OTM4MDog JD8gPSAwCmNvbmZpZ3VyZTo5NDMwOiByZXN1bHQ6IGxpYnJhcmllcyAsIGhlYWRlcnMgCmNvbmZp Z3VyZTo5Nzk1OiBjaGVja2luZyB3aGV0aGVyIG1hbGxvYyBpcyBEb3VnIExlYSBzdHlsZQpjb25m aWd1cmU6OTgxNDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMvbGliIGNvbmZ0ZXN0LmMgID4mNSAKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjY3OjE6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9m IGZ1bmN0aW9uICdtYWxsb2Nfc2V0X3N0YXRlJyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJh dGlvbl0KIG1hbGxvY19zZXRfc3RhdGUgKG1hbGxvY19nZXRfc3RhdGUgKCkpOwogXgpjb25mdGVz dC5jOjY3OjE6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtYWxs b2NfZ2V0X3N0YXRlJyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KY29uZnRlc3Qu Yzo2ODo0OiBlcnJvcjogJ19fYWZ0ZXJfbW9yZWNvcmVfaG9vaycgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBfX2FmdGVyX21vcmVjb3JlX2hvb2sgPSBob29rOwog ICAgXgpjb25mdGVzdC5jOjY4OjQ6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlz IHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZ0 ZXN0LmM6Njk6NDogZXJyb3I6ICdfX21hbGxvY19pbml0aWFsaXplX2hvb2snIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgX19tYWxsb2NfaW5pdGlhbGl6ZV9ob29r ID0gaG9vazsKICAgIF4KY29uZmlndXJlOjk4MTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZp bmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9U IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8bWFsbG9jLmg+CnwgCSAgc3RhdGljIHZvaWQgaG9vayAodm9pZCkge30KfCBp bnQKfCBtYWluICgpCnwgewp8IG1hbGxvY19zZXRfc3RhdGUgKG1hbGxvY19nZXRfc3RhdGUgKCkp Owp8IAkgIF9fYWZ0ZXJfbW9yZWNvcmVfaG9vayA9IGhvb2s7CnwgCSAgX19tYWxsb2NfaW5pdGlh bGl6ZV9ob29rID0gaG9vazsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjk4MjI6 IHJlc3VsdDogbm8KY29uZmlndXJlOjk4ODU6IGNoZWNraW5nIGZvciBnZXRwYWdlc2l6ZQpjb25m aWd1cmU6OTg4NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMvbGliIGNvbmZ0ZXN0LmMgID4mNSAKY29uZmlndXJlOjk4ODU6ICQ/ID0gMApj b25maWd1cmU6OTg4NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk4OTQ6IGNoZWNraW5nIGZvciB3 b3JraW5nIG1tYXAKY29uZmlndXJlOjEwMDQxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNs dWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgY29uZnRlc3QuYyAgPiY1IApjb25maWd1 cmU6MTAwNDE6ICQ/ID0gMApjb25maWd1cmU6MTAwNDE6IC4vY29uZnRlc3QKY29uZmlndXJlOjEw MDQxOiAkPyA9IDAKY29uZmlndXJlOjEwMDUxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAwNjk6 IGNoZWNraW5nIGZvciBkbmV0X250b2EgaW4gLWxkbmV0CmNvbmZpZ3VyZToxMDA5NDogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIGNv bmZ0ZXN0LmMgLWxkbmV0ICAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29sbGVjdDI6IGZhdGFs IGVycm9yOiBsaWJyYXJ5IGxpYmRuZXQgbm90IGZvdW5kCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu CmNvbmZpZ3VyZToxMDA5NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4z Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1J VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZF X0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfTU1BUCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFu eSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFy IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1 aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g ICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZG5l dF9udG9hICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGRuZXRfbnRvYSAoKTsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEwMTAzOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxMDExNTogY2hlY2tpbmcgZm9yIG1haW4gaW4gLWxYYnNkCmNvbmZpZ3VyZToxMDEzNDogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGli IGNvbmZ0ZXN0LmMgLWxYYnNkICAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29sbGVjdDI6IGZh dGFsIGVycm9yOiBsaWJyYXJ5IGxpYlhic2Qgbm90IGZvdW5kCmNvbXBpbGF0aW9uIHRlcm1pbmF0 ZWQuCmNvbmZpZ3VyZToxMDEzNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZM SU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfTU1BUCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IAp8IGludAp8IG1h aW4gKCkKfCB7CnwgcmV0dXJuIG1haW4gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZToxMDE0MzogcmVzdWx0OiBubwpjb25maWd1cmU6MTAxNjE6IGNoZWNraW5nIGZvciBwdGhy ZWFkX2F0Zm9yayBpbiAtbHB0aHJlYWQKY29uZmlndXJlOjEwMTg2OiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgY29uZnRlc3QuYyAt bHB0aHJlYWQgIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTAxODY6ICQ/ID0g MApjb25maWd1cmU6MTAxOTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDIxNTogY2hlY2tpbmcg Zm9yIGNtYV9vcGVuIGluIC1scHRocmVhZHMKY29uZmlndXJlOjEwMjQwOiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgY29uZnRlc3Qu YyAtbHB0aHJlYWRzICAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmxkOiAwNzEx LTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLmNtYV9vcGVuCmxkOiAwNzExLTM0NSBVc2Ug dGhlIC1ibG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0 aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJl OjEwMjQwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJ U1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQ IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8 IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y Lgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNl bmRpZgp8IGNoYXIgY21hX29wZW4gKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gY21h X29wZW4gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMDI0OTogcmVzdWx0 OiBubwpjb25maWd1cmU6MTAyNzY6IGNoZWNraW5nIGZvciAtYmJpZ3RvYyBvcHRpb24KY29uZmln dXJlOjEwMjk5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1scnRzIC1s SU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTAyOTk6ICQ/ID0gMApjb25maWd1cmU6MTAzMDg6 IHJlc3VsdDogLVdsLC1iYmlndG9jCmNvbmZpZ3VyZToxMDQwNTogY2hlY2tpbmcgZm9yIFhrYgpj b25maWd1cmU6MTA0MTk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1PMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHB0 aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25m dGVzdC5jOjY2OjA6Ci91c3IvaW5jbHVkZS9YMTEvWEtCbGliLmg6NTA6MzU6IGZhdGFsIGVycm9y OiBYMTEvZXh0ZW5zaW9ucy9YS0JzdHIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2lu Y2x1ZGUgPFgxMS9leHRlbnNpb25zL1hLQnN0ci5oPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjEwNDE5OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZF X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxYMTEv WGxpYi5oPgp8ICNpbmNsdWRlIDxYMTEvWEtCbGliLmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBY a2JEZXNjUHRyIGtiID0gWGtiR2V0S2V5Ym9hcmQgKDAsIFhrYkFsbENvbXBvbmVudHNNYXNrLCBY a2JVc2VDb3JlS2JkKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEwNDI2OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDQzODogY2hlY2tpbmcgZm9yIFhybVNldERhdGFiYXNlCmNv bmZpZ3VyZToxMDQzODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scHRo cmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEwNDM4OiAkPyA9IDAKY29u ZmlndXJlOjEwNDM4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA0Mzg6IGNoZWNraW5nIGZvciBY U2NyZWVuUmVzb3VyY2VTdHJpbmcKY29uZmlndXJlOjEwNDM4OiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25m aWd1cmU6MTA0Mzg6ICQ/ID0gMApjb25maWd1cmU6MTA0Mzg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxMDQzODogY2hlY2tpbmcgZm9yIFhTY3JlZW5OdW1iZXJPZlNjcmVlbgpjb25maWd1cmU6MTA0 Mzg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1P MyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNz LTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHB0aHJlYWQgLWxydHMg LWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMDQzODogJD8gPSAwCmNvbmZpZ3VyZToxMDQz ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwNDUwOiBjaGVja2luZyBYMTEgdmVyc2lvbiA2CmNv bmZpZ3VyZToxMDQ2OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLU8zICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scHRo cmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEwNDY5OiAkPyA9IDAKY29u ZmlndXJlOjEwNDc5OiByZXN1bHQ6IDYgb3IgbmV3ZXIKY29uZmlndXJlOjEwNTE4OiBjaGVja2lu ZyBmb3IgbGlicnN2Zy0yLjAgPj0gMi4xMS4wCmNvbmZpZ3VyZToxMDUzNjogcmVzdWx0OiBubwpj b25maWd1cmU6MTA1ODk6IGNoZWNraW5nIGZvciBXYW5kID49IDYuMi44CmNvbmZpZ3VyZToxMDYw NzogcmVzdWx0OiBubwpjb25maWd1cmU6MTA5MDk6IGNoZWNraW5nIGZvciBkYnVzLTEgPj0gMS4w CmNvbmZpZ3VyZToxMDkyNzogcmVzdWx0OiBubwpjb25maWd1cmU6MTA5ODk6IGNoZWNraW5nIGZv ciBnaW8tMi4wID49IDIuMjYKY29uZmlndXJlOjExMDA3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox MTA1MTogY2hlY2tpbmcgZm9yIGdjb25mLTIuMCA+PSAyLjEzCmNvbmZpZ3VyZToxMTA2OTogcmVz dWx0OiBubwpjb25maWd1cmU6MTExODQ6IGNoZWNraW5nIGZvciBsZ2V0ZmlsZWNvbiBpbiAtbHNl bGludXgKY29uZmlndXJlOjExMjA5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUg IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxz ZWxpbnV4ICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbGxlY3Qy OiBmYXRhbCBlcnJvcjogbGlicmFyeSBsaWJzZWxpbnV4IG5vdCBmb3VuZApjb21waWxhdGlvbiB0 ZXJtaW5hdGVkLgpjb25maWd1cmU6MTEyMDk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu ZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2Rl ZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5l IF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2Rl ZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElT VCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEK fCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNk ZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5l IEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJ TkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJ TSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50 ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lm ZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgbGdldGZpbGVjb24g KCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gbGdldGZpbGVjb24gKCk7CnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTIxODogcmVzdWx0OiBubwpjb25maWd1cmU6MTEy NDY6IGNoZWNraW5nIGZvciBnbnV0bHMgPj0gMi42LjYKY29uZmlndXJlOjExMjY0OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxMTI5OTogY2hlY2tpbmcgZm9yIGdudXRsc19jZXJ0aWZpY2F0ZV9zZXRf dmVyaWZ5X2Z1bmN0aW9uCmNvbmZpZ3VyZToxMTI5OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29u ZnRlc3QuYyAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcx MS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5nbnV0bHNfY2VydGlmaWNhdGVfc2V0X3Zl cmlmeV9mdW5jdGlvbgpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0 IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCBy ZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTI5OTogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9f X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NB X0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQg MQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5S RVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhB VkVfWDExUjZfWElNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdudXRs c19jZXJ0aWZpY2F0ZV9zZXRfdmVyaWZ5X2Z1bmN0aW9uIHRvIGFuIGlubm9jdW91cyB2YXJpYW50 LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ251dGxzX2NlcnRpZmljYXRlX3NldF92ZXJp ZnlfZnVuY3Rpb24uCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xh cmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3Zl cmlmeV9mdW5jdGlvbiBpbm5vY3VvdXNfZ251dGxzX2NlcnRpZmljYXRlX3NldF92ZXJpZnlfZnVu Y3Rpb24KfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo YXIgZ251dGxzX2NlcnRpZmljYXRlX3NldF92ZXJpZnlfZnVuY3Rpb24gKCk7IGJlbG93Lgp8ICAg ICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQs IHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBp bGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAj ZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGdudXRsc19j ZXJ0aWZpY2F0ZV9zZXRfdmVyaWZ5X2Z1bmN0aW9uCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBh bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAj aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBnbnV0bHNfY2Vy dGlmaWNhdGVfc2V0X3ZlcmlmeV9mdW5jdGlvbiAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBk ZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFs d2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVk CnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMg YW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9nbnV0bHNfY2VydGlmaWNhdGVfc2V0 X3ZlcmlmeV9mdW5jdGlvbiB8fCBkZWZpbmVkIF9fc3R1Yl9fX2dudXRsc19jZXJ0aWZpY2F0ZV9z ZXRfdmVyaWZ5X2Z1bmN0aW9uCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgp Cnwgewp8IHJldHVybiBnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3ZlcmlmeV9mdW5jdGlvbiAoKTsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExMjk5OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxMTMzOTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAgLWxYMTEgLWxwdGhy ZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25mdGVzdC5jOjczOjMwOiBmYXRhbCBlcnJv cjogWDExL1hhdzNkL1NpbXBsZS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVk ZSA8WDExL1hhdzNkL1NpbXBsZS5oPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNv bXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMTMzOTogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9f X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NB X0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQg MQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5S RVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhB VkVfWDExUjZfWElNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgI2luY2x1ZGUgPFgx MS9JbnRyaW5zaWMuaD4KfCAjaW5jbHVkZSA8WDExL1hhdzNkL1NpbXBsZS5oPgp8IGludAp8IG1h aW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTQwNDogY2hl Y2tpbmcgZm9yIHhhdzNkCmNvbmZpZ3VyZToxMTQwNjogcmVzdWx0OiBubwpjb25maWd1cmU6MTE0 MDg6IGNoZWNraW5nIGZvciBsaWJYYXcKY29uZmlndXJlOjExNDI2OiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmln dG9jICBjb25mdGVzdC5jICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUg CmNvbmZpZ3VyZToxMTQyNjogJD8gPSAwCmNvbmZpZ3VyZToxMTQzNjogcmVzdWx0OiB5ZXM7IHVz aW5nIEx1Y2lkIHRvb2xraXQKY29uZmlndXJlOjExNDU2OiBjaGVja2luZyBYMTEgdG9vbGtpdCB2 ZXJzaW9uCmNvbmZpZ3VyZToxMTQ3NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAg LWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTE0NzU6 ICQ/ID0gMApjb25maWd1cmU6MTE0ODY6IHJlc3VsdDogNiBvciBuZXdlcgpjb25maWd1cmU6MTE1 MDc6IGNoZWNraW5nIGZvciBYbXVDb252ZXJ0U3RhbmRhcmRTZWxlY3Rpb24gaW4gLWxYbXUKY29u ZmlndXJlOjExNTMyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWG11ICAtbFh0 IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29u ZmlndXJlOjExNTMyOiAkPyA9IDAKY29uZmlndXJlOjExNTQxOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTE1Njg6IGNoZWNraW5nIGZvciBYU2hhcGVRdWVyeUV4dGVuc2lvbiBpbiAtbFhleHQKY29u ZmlndXJlOjExNTkzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWGV4dCAgLWxY bXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+ JjUgCmNvbmZpZ3VyZToxMTU5MzogJD8gPSAwCmNvbmZpZ3VyZToxMTYwMjogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjExODAzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1j ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToxMTgwMzogJD8gPSAwCmNvbmZpZ3VyZToxMTg1MjogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAgLU8zICAtLXBlZGFudGljLWVycm9ycyAgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6OTU6NDogZXJyb3I6IHBhc3NpbmcgYXJndW1l bnQgNSBvZiAnWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrJyBmcm9tIGluY29tcGF0aWJs ZSBwb2ludGVyIHR5cGUKICAgIGNsaWVudF9kYXRhKTsKICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIGNvbmZ0ZXN0LmM6Nzc6MDoKL3Vzci9pbmNsdWRlL1gxMS9YbGliLmg6Mzk1NjoxMzogbm90 ZTogZXhwZWN0ZWQgJ1hJRFByb2MnIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdYSU1Qcm9jJwog ZXh0ZXJuIEJvb2wgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrKAogICAgICAgICAgICAg Xgpjb25mdGVzdC5jOjk1OjQ6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDYgb2YgJ1hSZWdpc3Rl cklNSW5zdGFudGlhdGVDYWxsYmFjaycgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlCiAg ICBjbGllbnRfZGF0YSk7CiAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25mdGVzdC5jOjc3 OjA6Ci91c3IvaW5jbHVkZS9YMTEvWGxpYi5oOjM5NTY6MTM6IG5vdGU6IGV4cGVjdGVkICdYUG9p bnRlcicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ2NoYXIgKionCiBleHRlcm4gQm9vbCBYUmVn aXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2soCiAgICAgICAgICAgICBeCmNvbmZpZ3VyZToxMTg1 MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZp bmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JF RU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVf WF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRS NiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNk ZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IAp8ICNpbmNsdWRlIDxYMTEvWGxpYi5oPgp8ICNpbmNsdWRlIDxYMTEvWHJlc291cmNl Lmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBEaXNwbGF5ICpkaXNwbGF5Owp8IFhybURhdGFiYXNl IGRiOwp8IGNoYXIgKnJlc19uYW1lOwp8IGNoYXIgKnJlc19jbGFzczsKfCBYSU1Qcm9jICBjYWxs YmFjazsKfCBYUG9pbnRlciAqY2xpZW50X2RhdGE7CnwgI2lmbmRlZiBfX0dOVUNfXwp8IC8qIElm IHdlJ3JlIG5vdCB1c2luZyBHQ0MsIGl0J3MgcHJvYmFibHkgbm90IFhGcmVlODYsIGFuZCB0aGlz IGlzCnwgICAgcHJvYmFibHkgcmlnaHQsIGJ1dCB3ZSBjYW4ndCB1c2Ugc29tZXRoaW5nIGxpa2Ug LS1wZWRhbnRpYy1lcnJvcnMuICAqLwp8IGV4dGVybiBCb29sIFhSZWdpc3RlcklNSW5zdGFudGlh dGVDYWxsYmFjayhEaXNwbGF5KiwgWHJtRGF0YWJhc2UsIGNoYXIqLAp8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyKiwgWElNUHJvYywgWFBvaW50ZXIqKTsK fCAjZW5kaWYKfCAodm9pZClYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2soZGlzcGxheSwg ZGIsIHJlc19uYW1lLCByZXNfY2xhc3MsIGNhbGxiYWNrLAp8ICAgIGNsaWVudF9kYXRhKTsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExODgwOiBjaGVja2luZyBmb3IgZm9udGNv bmZpZyA+PSAyLjIuMApjb25maWd1cmU6MTE4OTQ6IHJlc3VsdDogeWVzIENGTEFHUz0nLUkvb3B0 L2ZyZWV3YXJlL2luY2x1ZGUgICcgTElCUz0nLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbGZvbnRjb25m aWcgICcKY29uZmlndXJlOjExOTM5OiBjaGVja2luZyBmb3IgeGZ0ID49IDAuMTMuMApjb25maWd1 cmU6MTE5NTM6IHJlc3VsdDogeWVzIENGTEFHUz0nLURYVEhSRUFEUyAtSS9vcHQvZnJlZXdhcmUv aW5jbHVkZSAtSS91c2VyczMvb2xpdmFwL3NiL3A2NC9leHBvcnQvcG93ZXJfNTEwXzMyL3Vzci9p bmNsdWRlIC1JL3VzZXJzMy9vbGl2YXAvc2IvcDY0L2V4cG9ydC9wb3dlcl81MTBfMzIvdXNyL2lu Y2x1ZGUvZnJlZXR5cGUyIC1JL3VzZXJzMy9vbGl2YXAvc2IvcDY0L2V4cG9ydC9wb3dlcl81MTBf MzIvdXNyL2luY2x1ZGUvWDExL2V4dGVuc2lvbnMvICAnIExJQlM9Jy1ML29wdC9mcmVld2FyZS9s aWIgLUwvdXNlcnMzL29saXZhcC9zYi9wNjQvZXhwb3J0L3Bvd2VyXzUxMF8zMi91c3IvbGliIC1M L3VzZXJzMy9vbGl2YXAvc2IvcDY0L2V4cG9ydC9wb3dlcl81MTBfMzIvdXNyL2xpYi8gLWxYZnQg LWxmcmVldHlwZSAtbHogLWxYcmVuZGVyIC1sWDExIC1sZm9udGNvbmZpZyAgJwpjb25maWd1cmU6 MTE5ODU6IGNoZWNraW5nIGZvciBYUmVuZGVyUXVlcnlFeHRlbnNpb24gaW4gLWxYcmVuZGVyCmNv bmZpZ3VyZToxMjAxMDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFhyZW5kZXIg IC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElN IC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEyMDEwOiAkPyA9IDAKY29uZmlndXJlOjEyMDE5OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTIwMzM6IGNoZWNraW5nIFgxMS9YZnQvWGZ0LmggdXNhYmls aXR5CmNvbmZpZ3VyZToxMjAzMzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAgLU8zICAtRFhUSFJFQURTIC1JL29wdC9mcmVld2FyZS9pbmNsdWRlIC1JL3VzZXJzMy9v bGl2YXAvc2IvcDY0L2V4cG9ydC9wb3dlcl81MTBfMzIvdXNyL2luY2x1ZGUgLUkvdXNlcnMzL29s aXZhcC9zYi9wNjQvZXhwb3J0L3Bvd2VyXzUxMF8zMi91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkv dXNlcnMzL29saXZhcC9zYi9wNjQvZXhwb3J0L3Bvd2VyXzUxMF8zMi91c3IvaW5jbHVkZS9YMTEv ZXh0ZW5zaW9ucy8gICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAtRFhUSFJF QURTIC1JL29wdC9mcmVld2FyZS9pbmNsdWRlIC1JL3VzZXJzMy9vbGl2YXAvc2IvcDY0L2V4cG9y dC9wb3dlcl81MTBfMzIvdXNyL2luY2x1ZGUgLUkvdXNlcnMzL29saXZhcC9zYi9wNjQvZXhwb3J0 L3Bvd2VyXzUxMF8zMi91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNlcnMzL29saXZhcC9zYi9w NjQvZXhwb3J0L3Bvd2VyXzUxMF8zMi91c3IvaW5jbHVkZS9YMTEvZXh0ZW5zaW9ucy8gICBjb25m dGVzdC5jID4mNQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL29wdC9mcmVld2FyZS9pbmNsdWRlL1gx MS9YZnQvWGZ0Lmg6NDE6MCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6MTEwOgov b3B0L2ZyZWV3YXJlL2luY2x1ZGUvZnQyYnVpbGQuaDo1NjozODogZmF0YWwgZXJyb3I6IGZyZWV0 eXBlL2NvbmZpZy9mdGhlYWRlci5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVk ZSA8ZnJlZXR5cGUvY29uZmlnL2Z0aGVhZGVyLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTIwMzM6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhB VkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFN X0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElN RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf RkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVN QkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4 TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5l IEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0 YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1 ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFW RV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmlu ZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGlu Y2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5j bHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGlu Y2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGlu Y2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNs dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8WDExL1hmdC9YZnQuaD4KY29uZmln dXJlOjEyMDMzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjAzMzogY2hlY2tpbmcgWDExL1hmdC9Y ZnQuaCBwcmVzZW5jZQpjb25maWd1cmU6MTIwMzM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1FICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIC1EWFRIUkVBRFMgLUkvb3B0 L2ZyZWV3YXJlL2luY2x1ZGUgLUkvdXNlcnMzL29saXZhcC9zYi9wNjQvZXhwb3J0L3Bvd2VyXzUx MF8zMi91c3IvaW5jbHVkZSAtSS91c2VyczMvb2xpdmFwL3NiL3A2NC9leHBvcnQvcG93ZXJfNTEw XzMyL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c2VyczMvb2xpdmFwL3NiL3A2NC9leHBvcnQv cG93ZXJfNTEwXzMyL3Vzci9pbmNsdWRlL1gxMS9leHRlbnNpb25zLyAgIGNvbmZ0ZXN0LmMKSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC9vcHQvZnJlZXdhcmUvaW5jbHVkZS9YMTEvWGZ0L1hmdC5oOjQx OjAsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc3Ogovb3B0L2ZyZWV3YXJlL2lu Y2x1ZGUvZnQyYnVpbGQuaDo1NjozODogZmF0YWwgZXJyb3I6IGZyZWV0eXBlL2NvbmZpZy9mdGhl YWRlci5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8ZnJlZXR5cGUvY29u ZmlnL2Z0aGVhZGVyLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpj b21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTIwMzM6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAy NC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMg MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9T QV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE IDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO UkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBI QVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAj ZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNr X2FyZzYgWFBvaW50ZXIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPFgxMS9Y ZnQvWGZ0Lmg+CmNvbmZpZ3VyZToxMjAzMzogcmVzdWx0OiBubwpjb25maWd1cmU6MTIwMzM6IGNo ZWNraW5nIGZvciBYMTEvWGZ0L1hmdC5oCmNvbmZpZ3VyZToxMjAzMzogcmVzdWx0OiBubwpjb25m aWd1cmU6MTI0NDM6IGNoZWNraW5nIFgxMS94cG0uaCB1c2FiaWxpdHkKY29uZmlndXJlOjEyNDQz OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jICAtTzMgICAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMjQ0 MzogJD8gPSAwCmNvbmZpZ3VyZToxMjQ0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNDQzOiBj aGVja2luZyBYMTEveHBtLmggcHJlc2VuY2UKY29uZmlndXJlOjEyNDQzOiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtRSAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25m dGVzdC5jCmNvbmZpZ3VyZToxMjQ0MzogJD8gPSAwCmNvbmZpZ3VyZToxMjQ0MzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEyNDQzOiBjaGVja2luZyBmb3IgWDExL3hwbS5oCmNvbmZpZ3VyZToxMjQ0 MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNDQ1OiBjaGVja2luZyBmb3IgWHBtUmVhZEZpbGVU b1BpeG1hcCBpbiAtbFhwbQpjb25maWd1cmU6MTI0NzA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNv bmZ0ZXN0LmMgLWxYcG0gLWxYMTEgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEg LWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTI0NzA6ICQ/ID0g MApjb25maWd1cmU6MTI0Nzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjQ4OTogY2hlY2tpbmcg Zm9yIFhwbVJldHVybkFsbG9jUGl4ZWxzIHByZXByb2Nlc3NvciBkZWZpbmUKY29uZmlndXJlOjEy NTA5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI1MzM6IGNoZWNraW5nIGplcnJvci5oIHVzYWJp bGl0eQpjb25maWd1cmU6MTI1MzM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251 OTkgLWMgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjEyNTMzOiAkPyA9IDAKY29uZmlndXJlOjEyNTMzOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTI1MzM6IGNoZWNraW5nIGplcnJvci5oIHByZXNlbmNlCmNvbmZpZ3VyZTox MjUzMzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLUUgICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTI1MzM6ICQ/ID0gMApjb25maWd1 cmU6MTI1MzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjUzMzogY2hlY2tpbmcgZm9yIGplcnJv ci5oCmNvbmZpZ3VyZToxMjUzMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNTM1OiBjaGVja2lu ZyBmb3IganBlZ19kZXN0cm95X2NvbXByZXNzIGluIC1sanBlZwpjb25maWd1cmU6MTI1NjA6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z L2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxqcGVnICAtbFhleHQgLWxYbXUgLWxYdCAt bFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZp Z3VyZToxMjU2MDogJD8gPSAwCmNvbmZpZ3VyZToxMjU2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjEyNjE3OiBjaGVja2luZyBwbmcuaCB1c2FiaWxpdHkKY29uZmlndXJlOjEyNjE3OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jICAtTzMgICAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMjYxNzogJD8gPSAw CmNvbmZpZ3VyZToxMjYxNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNjE3OiBjaGVja2luZyBw bmcuaCBwcmVzZW5jZQpjb25maWd1cmU6MTI2MTc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1FICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmln dXJlOjEyNjE3OiAkPyA9IDAKY29uZmlndXJlOjEyNjE3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTI2MTc6IGNoZWNraW5nIGZvciBwbmcuaApjb25maWd1cmU6MTI2MTc6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxMjYyODogY2hlY2tpbmcgZm9yIHBuZ19nZXRfY2hhbm5lbHMgaW4gLWxwbmcKY29u ZmlndXJlOjEyNjUzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scG5nIC1seiAt bG0gLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1s SU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTI2NTM6ICQ/ID0gMApjb25maWd1cmU6MTI2NjI6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjY3NzogY2hlY2tpbmcgd2hldGhlciBwbmdfbG9uZ2pt cCBpcyBkZWNsYXJlZApjb25maWd1cmU6MTI2Nzc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLWMgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEyNjc3OiAkPyA9IDAKY29uZmlndXJlOjEyNjc3OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTI3MDE6IGNoZWNraW5nIHRpZmZpby5oIHVzYWJpbGl0eQpj b25maWd1cmU6MTI3MDE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMg IC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjEyNzAxOiAkPyA9IDAKY29uZmlndXJlOjEyNzAxOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTI3MDE6IGNoZWNraW5nIHRpZmZpby5oIHByZXNlbmNlCmNvbmZpZ3VyZToxMjcwMTog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLUUgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z L2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTI3MDE6ICQ/ID0gMApjb25maWd1cmU6MTI3 MDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjcwMTogY2hlY2tpbmcgZm9yIHRpZmZpby5oCmNv bmZpZ3VyZToxMjcwMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNzA2OiBjaGVja2luZyBmb3Ig VElGRkdldFZlcnNpb24gaW4gLWx0aWZmCmNvbmZpZ3VyZToxMjczMTogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJp Z3RvYyAgY29uZnRlc3QuYyAtbHRpZmYgLWxqcGVnIC1seiAtbG0gLWxYZXh0IC1sWG11IC1sWHQg LWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25m aWd1cmU6MTI3MzE6ICQ/ID0gMApjb25maWd1cmU6MTI3NDA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxMjkwMDogY2hlY2tpbmcgZ3BtLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMjkwMDogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAgLU8zICAgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjExNjoxNzogZmF0 YWwgZXJyb3I6IGdwbS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8Z3Bt Lmg+CiAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6 MTI5MDA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAj ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElT VCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZ U19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVf TkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0Ug MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBI QVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gx MVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEK fCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lz dGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFW RV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRl Zi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVm aW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8 bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNs dWRlIDxncG0uaD4KY29uZmlndXJlOjEyOTAwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjkwMDog Y2hlY2tpbmcgZ3BtLmggcHJlc2VuY2UKY29uZmlndXJlOjEyOTAwOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtRSAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVz dC5jCmNvbmZ0ZXN0LmM6ODM6MTc6IGZhdGFsIGVycm9yOiBncG0uaDogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQogI2luY2x1ZGUgPGdwbS5oPgogICAgICAgICAgICAgICAgIF4KY29tcGlsYXRp b24gdGVybWluYXRlZC4KY29uZmlndXJlOjEyOTAwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURf VCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2Rl ZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNF U1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5l IEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFS Nl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEK fCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQ b2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPGdwbS5oPgpjb25maWd1cmU6MTI5MDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyOTAwOiBj aGVja2luZyBmb3IgZ3BtLmgKY29uZmlndXJlOjEyOTAwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox Mjk5MzogY2hlY2tpbmcgWDExL1NNL1NNbGliLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMjk5Mzog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAgLU8zICAgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTI5OTM6 ICQ/ID0gMApjb25maWd1cmU6MTI5OTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjk5MzogY2hl Y2tpbmcgWDExL1NNL1NNbGliLmggcHJlc2VuY2UKY29uZmlndXJlOjEyOTkzOiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtRSAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBj b25mdGVzdC5jCmNvbmZpZ3VyZToxMjk5MzogJD8gPSAwCmNvbmZpZ3VyZToxMjk5MzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjEyOTkzOiBjaGVja2luZyBmb3IgWDExL1NNL1NNbGliLmgKY29uZmln dXJlOjEyOTkzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI5OTU6IGNoZWNraW5nIGZvciBTbWNP cGVuQ29ubmVjdGlvbiBpbiAtbFNNCmNvbmZpZ3VyZToxMzAyMDogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3Rv YyAgY29uZnRlc3QuYyAtbFNNIC1sSUNFIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1s WDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEzMDIwOiAk PyA9IDAKY29uZmlndXJlOjEzMDI5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMwNjQ6IGNoZWNr aW5nIGZvciBsaWJ4bWwtMi4wID4gMi42LjE3CmNvbmZpZ3VyZToxMzA3ODogcmVzdWx0OiB5ZXMg Q0ZMQUdTPSctSS9vcHQvZnJlZXdhcmUvaW5jbHVkZS9saWJ4bWwyICAnIExJQlM9Jy1ML29wdC9m cmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICcKY29uZmlndXJl OjEzMTA5OiBjaGVja2luZyBmb3IgaHRtbFJlYWRNZW1vcnkgaW4gLWx4bWwyCmNvbmZpZ3VyZTox MzEzNDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAg LU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHhtbDIgIC1ML29wdC9mcmVl d2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUg LWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUg CmNvbmZpZ3VyZToxMzEzNDogJD8gPSAwCmNvbmZpZ3VyZToxMzE0MzogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjEzMTY1OiBjaGVja2luZyB3aGV0aGVyIG5ldGRiIGRlY2xhcmVzIGhfZXJybm8KY29u ZmlndXJlOjEzMTgxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1ML29wdC9mcmVl d2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUg LWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUg CmNvbmZpZ3VyZToxMzE4MTogJD8gPSAwCmNvbmZpZ3VyZToxMzE4OTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjEzMTk5OiBjaGVja2luZyBmb3Igc3FydCBpbiAtbG0KY29uZmlndXJlOjEzMjI0OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAgLUwvb3B0L2ZyZWV3YXJlL2xpYiAt bHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00g LWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZnRlc3Qu Yzo5Mzo2OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24g J3NxcnQnIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiBjaGFyIHNxcnQgKCk7CiAgICAgIF4KY29uZmln dXJlOjEzMjI0OiAkPyA9IDAKY29uZmlndXJlOjEzMjMzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTMyNDc6IGNoZWNraW5nIGZvciBtYWlsbG9jayBpbiAtbG1haWwKY29uZmlndXJlOjEzMjcyOiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbWFpbCAgLWxtIC1ML29wdC9mcmVld2Fy ZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxY dCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNv bGxlY3QyOiBmYXRhbCBlcnJvcjogbGlicmFyeSBsaWJtYWlsIG5vdCBmb3VuZApjb21waWxhdGlv biB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTMyNzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZp bmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9U IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVm aW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VT VFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUg SEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBv aW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAx CnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhB VkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJN IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBp bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZk ZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBtYWlsbG9jayAoKTsK fCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBtYWlsbG9jayAoKTsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjEzMjgxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzI5ODogY2hl Y2tpbmcgZm9yIG1haWxsb2NrIGluIC1sbG9ja2ZpbGUKY29uZmlndXJlOjEzMzIzOiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbG9ja2ZpbGUgIC1sbSAtTC9vcHQvZnJlZXdhcmUv bGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQg LWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb2xs ZWN0MjogZmF0YWwgZXJyb3I6IGxpYnJhcnkgbGlibG9ja2ZpbGUgbm90IGZvdW5kCmNvbXBpbGF0 aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMzMyMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2Rl ZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVE X1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNk ZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJD RVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmlu ZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAx CnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBY UG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5H IDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUg SEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJ Qk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNl IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFu ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNp ZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIG1haWxsb2NrICgp Owp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG1haWxsb2NrICgpOwp8ICAgOwp8ICAgcmV0 dXJuIDA7CnwgfQpjb25maWd1cmU6MTMzMzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMzUyOiBj aGVja2luZyBmb3IgbGlibG9ja2ZpbGUuc28KY29uZmlndXJlOjEzMzgxOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxMzQ2MDogY2hlY2tpbmcgZm9yIGdldGhvc3RuYW1lCmNvbmZpZ3VyZToxMzQ2MDog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAg ICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAt bHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00g LWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJl OjEzNDYwOiAkPyA9IDAKY29uZmlndXJlOjEzNDYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM0 NjA6IGNoZWNraW5nIGZvciBjbG9zZWRpcgpjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJi aWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVh ZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAt bHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMzQ2MDogJD8gPSAw CmNvbmZpZ3VyZToxMzQ2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYwOiBjaGVja2luZyBm b3IgZ2V0cnVzYWdlCmNvbmZpZ3VyZToxMzQ2MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMv aW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRl c3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252 IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0 cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEzNDYwOiAkPyA9IDAKY29uZmlndXJlOjEz NDYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM0NjA6IGNoZWNraW5nIGZvciBnZXRfY3VycmVu dF9kaXJfbmFtZQpjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2lu Y2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0 LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAt bG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMg LWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMzQ2MDogJD8gPSAwCmNvbmZpZ3VyZToxMzQ2 MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYwOiBjaGVja2luZyBmb3IgbHJhbmQ0OApjb25m aWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xT RElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9m cmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxY bXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+ JjUgCmNvbmZpZ3VyZToxMzQ2MDogJD8gPSAwCmNvbmZpZ3VyZToxMzQ2MDogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjEzNDYwOiBjaGVja2luZyBmb3Igc2V0c2lkCmNvbmZpZ3VyZToxMzQ2MDogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMv bGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHht bDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJ Q0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEz NDYwOiAkPyA9IDAKY29uZmlndXJlOjEzNDYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM0NjA6 IGNoZWNraW5nIGZvciBmcGF0aGNvbmYKY29uZmlndXJlOjEzNDYwOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmln dG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQg LWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxw dGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTM0NjA6ICQ/ID0gMApj b25maWd1cmU6MTM0NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ2MDogY2hlY2tpbmcgZm9y IHNlbGVjdApjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1 ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMg LWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0g ICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJ TSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMzQ2MDogJD8gPSAwCmNvbmZpZ3VyZToxMzQ2MDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYwOiBjaGVja2luZyBmb3IgZXVpZGFjY2Vzcwpjb25m aWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xT RElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9m cmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxY bXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+ JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLmV1aWRhY2Nlc3MKbGQ6 IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWlu IG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0 YXR1cwpjb25maWd1cmU6MTM0NjA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNL QUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVN X1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19W TElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRN UF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUg SEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVf WFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8 ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFS NiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwg I2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUg SEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8 ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAj ZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQ RUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmlu ZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1M MiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVm aW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZp bmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBI QVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBI QVZFX1NFTEVDVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBldWlkYWNj ZXNzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMg ZXVpZGFjY2Vzcy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFy ZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGV1aWRhY2Nlc3MgaW5ub2N1b3VzX2V1aWRh Y2Nlc3MKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo YXIgZXVpZGFjY2VzcyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3Nl cnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlz dHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERD X18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4K fCAjZW5kaWYKfCAKfCAjdW5kZWYgZXVpZGFjY2Vzcwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0Mg aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1 c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4g YW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwg I2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZXVpZGFjY2Vz cyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3 aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3 aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVk IF9fc3R1Yl9ldWlkYWNjZXNzIHx8IGRlZmluZWQgX19zdHViX19fZXVpZGFjY2Vzcwp8IGNob2tl IG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZXVpZGFjY2VzcyAo KTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEzNDYwOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxMzQ2MDogY2hlY2tpbmcgZm9yIGdldHBhZ2VzaXplCmNvbmZpZ3VyZToxMzQ2MDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYwOiBjaGVja2luZyBmb3Igc2V0bG9jYWxlCmNvbmZp Z3VyZToxMzQ2MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2Zy ZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFht dSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4m NSAKY29uZmlndXJlOjEzNDYwOiAkPyA9IDAKY29uZmlndXJlOjEzNDYwOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTM0NjA6IGNoZWNraW5nIGZvciB1dGltZXMKY29uZmlndXJlOjEzNDYwOiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9s aWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1s MiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElD RSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTM0 NjA6ICQ/ID0gMApjb25maWd1cmU6MTM0NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ2MDog Y2hlY2tpbmcgZm9yIGdldHJsaW1pdApjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0 b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAt bHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0 aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMzQ2MDogJD8gPSAwCmNv bmZpZ3VyZToxMzQ2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYwOiBjaGVja2luZyBmb3Ig c2V0cmxpbWl0CmNvbmZpZ3VyZToxMzQ2MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5j bHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3Qu YyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1s bSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAt bElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEzNDYwOiAkPyA9IDAKY29uZmlndXJlOjEzNDYw OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM0NjA6IGNoZWNraW5nIGZvciBzZXRwZ2lkCmNvbmZp Z3VyZToxMzQ2MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2Zy ZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFht dSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4m NSAKY29uZmlndXJlOjEzNDYwOiAkPyA9IDAKY29uZmlndXJlOjEzNDYwOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTM0NjA6IGNoZWNraW5nIGZvciBnZXRjd2QKY29uZmlndXJlOjEzNDYwOiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9s aWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1s MiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElD RSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTM0 NjA6ICQ/ID0gMApjb25maWd1cmU6MTM0NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ2MDog Y2hlY2tpbmcgZm9yIHNodXRkb3duCmNvbmZpZ3VyZToxMzQ2MDogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3Rv YyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1s eiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRo cmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEzNDYwOiAkPyA9IDAKY29u ZmlndXJlOjEzNDYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM0NjA6IGNoZWNraW5nIGZvciBn ZXRhZGRyaW5mbwpjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2lu Y2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0 LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAt bG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMg LWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMzQ2MDogJD8gPSAwCmNvbmZpZ3VyZToxMzQ2 MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYwOiBjaGVja2luZyBmb3IgX19mcGVuZGluZwpj b25maWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29w dC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQg LWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252 ICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLl9fZnBlbmRpbmcK bGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0 YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0 IHN0YXR1cwpjb25maWd1cmU6MTM0NjA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ QUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmlu ZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZp bmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhB VkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcg MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9Y MTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAx CnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZp bmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIK fCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZF X0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2Rl ZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElC WE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAj ZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwg I2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJ RCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBE ZWZpbmUgX19mcGVuZGluZyB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz Lmg+IGRlY2xhcmVzIF9fZnBlbmRpbmcuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGlt aXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBfX2ZwZW5kaW5nIGlu bm9jdW91c19fX2ZwZW5kaW5nCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29u ZmxpY3Qgd2l0aCBjaGFyIF9fZnBlbmRpbmcgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0 cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxs aW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwg I2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVk ZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIF9fZnBlbmRpbmcKfCAKfCAvKiBPdmVy cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBV c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBj aGFyIF9fZnBlbmRpbmcgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRo IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhp bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8K fCAjaWYgZGVmaW5lZCBfX3N0dWJfX19mcGVuZGluZyB8fCBkZWZpbmVkIF9fc3R1Yl9fX19fZnBl bmRpbmcKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IF9fZnBlbmRpbmcgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMzQ2MDog cmVzdWx0OiBubwpjb25maWd1cmU6MTM0NjA6IGNoZWNraW5nIGZvciBzdHJzaWduYWwKY29uZmln dXJlOjEzNDYwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJl ZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11 IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1 IApjb25maWd1cmU6MTM0NjA6ICQ/ID0gMApjb25maWd1cmU6MTM0NjA6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxMzQ2MDogY2hlY2tpbmcgZm9yIHNldGl0aW1lcgpjb25maWd1cmU6MTM0NjA6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z L2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4 bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1s SUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZTox MzQ2MDogJD8gPSAwCmNvbmZpZ3VyZToxMzQ2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYw OiBjaGVja2luZyBmb3Igc2VuZHRvCmNvbmZpZ3VyZToxMzQ2MDogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3Rv YyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1s eiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRo cmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEzNDYwOiAkPyA9IDAKY29u ZmlndXJlOjEzNDYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM0NjA6IGNoZWNraW5nIGZvciBy ZWN2ZnJvbQpjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1 ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMg LWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0g ICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJ TSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMzQ2MDogJD8gPSAwCmNvbmZpZ3VyZToxMzQ2MDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYwOiBjaGVja2luZyBmb3IgZ2V0c29ja25hbWUKY29u ZmlndXJlOjEzNDYwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQv ZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1s WG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAg PiY1IApjb25maWd1cmU6MTM0NjA6ICQ/ID0gMApjb25maWd1cmU6MTM0NjA6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMzQ2MDogY2hlY2tpbmcgZm9yIGdldHBlZXJuYW1lCmNvbmZpZ3VyZToxMzQ2 MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8z ICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNz LTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xp YiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1s U00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmln dXJlOjEzNDYwOiAkPyA9IDAKY29uZmlndXJlOjEzNDYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTM0NjA6IGNoZWNraW5nIGZvciBnZXRpZmFkZHJzCmNvbmZpZ3VyZToxMzQ2MDogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1X bCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxw dGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1s WDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9S OiBVbmRlZmluZWQgc3ltYm9sOiAuZ2V0aWZhZGRycwpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxv YWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29s bGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMzQ2MDog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUg VkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUg SEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2Rl ZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5O VU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9J MThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAx CnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZp bmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUlu c3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BO R19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmlu ZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9F UlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8 ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05B TUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAj ZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUg SEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dE IDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwg I2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBnZXRpZmFkZHJzIHRvIGFuIGlubm9jdW91cyB2 YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0aWZhZGRycy4KfCAgICBGb3Ig ZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K fCAjZGVmaW5lIGdldGlmYWRkcnMgaW5ub2N1b3VzX2dldGlmYWRkcnMKfCAKfCAvKiBTeXN0ZW0g aGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlw ZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZ2V0aWZhZGRycyAoKTsgYmVs b3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMg ZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRp bmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0 cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYg Z2V0aWZhZGRycwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg ZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ2V0aWZhZGRycyAoKTsKfCAvKiBUaGUgR05VIEMg bGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwg ICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVh bGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs IG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9nZXRpZmFkZHJzIHx8 IGRlZmluZWQgX19zdHViX19fZ2V0aWZhZGRycwp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZ2V0aWZhZGRycyAoKTsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjEzNDYwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzQ2MDogY2hlY2tp bmcgZm9yIGZyZWVpZmFkZHJzCmNvbmZpZ3VyZToxMzQ2MDogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAg Y29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAt bGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVh ZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQg c3ltYm9sOiAuZnJlZWlmYWRkcnMKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1i bm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJv cjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTM0NjA6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJl bWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0Vf RklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JF RU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUg SEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElN IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNh bGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NN IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZF X0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZF X0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmlu ZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAvKiBEZWZpbmUgZnJlZWlmYWRkcnMgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGlu IGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBmcmVlaWZhZGRycy4KfCAgICBGb3IgZXhhbXBsZSwg SFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5l IGZyZWVpZmFkZHJzIGlubm9jdW91c19mcmVlaWZhZGRycwp8IAp8IC8qIFN5c3RlbSBoZWFkZXIg dG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAg ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBmcmVlaWZhZGRycyAoKTsgYmVsb3cuCnwg ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5l ZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t cGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8 ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZnJlZWlm YWRkcnMKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90 b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVy biAiQyIKfCAjZW5kaWYKfCBjaGFyIGZyZWVpZmFkZHJzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFt ZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2ZyZWVpZmFkZHJzIHx8IGRl ZmluZWQgX19zdHViX19fZnJlZWlmYWRkcnMKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8 IG1haW4gKCkKfCB7CnwgcmV0dXJuIGZyZWVpZmFkZHJzICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MTM0NjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzNDYwOiBjaGVja2lu ZyBmb3IgZ2FpX3N0cmVycm9yCmNvbmZpZ3VyZToxMzQ2MDogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAg Y29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAt bGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVh ZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEzNDYwOiAkPyA9IDAKY29uZmln dXJlOjEzNDYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM0NjA6IGNoZWNraW5nIGZvciBta3N0 ZW1wCmNvbmZpZ3VyZToxMzQ2MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0g LUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1s WGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1s aWNvbnYgID4mNSAKY29uZmlndXJlOjEzNDYwOiAkPyA9IDAKY29uZmlndXJlOjEzNDYwOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTM0NjA6IGNoZWNraW5nIGZvciBnZXRsaW5lCmNvbmZpZ3VyZTox MzQ2MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAg LU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJl L2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0 IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29u ZmlndXJlOjEzNDYwOiAkPyA9IDAKY29uZmlndXJlOjEzNDYwOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTM0NjA6IGNoZWNraW5nIGZvciBnZXRkZWxpbQpjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAt V2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1s cHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAt bFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMzQ2MDog JD8gPSAwCmNvbmZpZ3VyZToxMzQ2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYwOiBjaGVj a2luZyBmb3IgZnN5bmMKY29uZmlndXJlOjEzNDYwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25m dGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNv bnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1s cnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTM0NjA6ICQ/ID0gMApjb25maWd1cmU6 MTM0NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ2MDogY2hlY2tpbmcgZm9yIHN5bmMKY29u ZmlndXJlOjEzNDYwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQv ZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1s WG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAg PiY1IApjb25maWd1cmU6MTM0NjA6ICQ/ID0gMApjb25maWd1cmU6MTM0NjA6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMzQ2MDogY2hlY2tpbmcgZm9yIGRpZmZ0aW1lCmNvbmZpZ3VyZToxMzQ2MDog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAg ICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAt bHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00g LWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJl OjEzNDYwOiAkPyA9IDAKY29uZmlndXJlOjEzNDYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM0 NjA6IGNoZWNraW5nIGZvciBwb3NpeF9tZW1hbGlnbgpjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAt V2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1s cHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAt bFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMzQ2MDog JD8gPSAwCmNvbmZpZ3VyZToxMzQ2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYwOiBjaGVj a2luZyBmb3IgZ2V0cHdlbnQKY29uZmlndXJlOjEzNDYwOiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1s aWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFk IC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTM0NjA6ICQ/ID0gMApjb25maWd1 cmU6MTM0NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ2MDogY2hlY2tpbmcgZm9yIGVuZHB3 ZW50CmNvbmZpZ3VyZToxMzQ2MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0g LUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1s WGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1s aWNvbnYgID4mNSAKY29uZmlndXJlOjEzNDYwOiAkPyA9IDAKY29uZmlndXJlOjEzNDYwOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTM0NjA6IGNoZWNraW5nIGZvciBnZXRncmVudApjb25maWd1cmU6 MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg IC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9l bWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVld2Fy ZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxY dCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNv bmZpZ3VyZToxMzQ2MDogJD8gPSAwCmNvbmZpZ3VyZToxMzQ2MDogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjEzNDYwOiBjaGVja2luZyBmb3IgZW5kZ3JlbnQKY29uZmlndXJlOjEzNDYwOiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAt bHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAg LWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTM0NjA6 ICQ/ID0gMApjb25maWd1cmU6MTM0NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ2MDogY2hl Y2tpbmcgZm9yIHRvdWNobG9jawpjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHog LWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJl YWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVk IHN5bWJvbDogLnRvdWNobG9jawpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJu b3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9y OiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMzQ2MDogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu MyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9G SUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVF TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVm aW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBI QVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0g MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2Fs bGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00g MQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZp bmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVf RlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMg MQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZF X1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09D S05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5F IDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZF X1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E R1JFTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgdG91Y2hsb2NrIHRv IGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgdG91Y2hs b2NrLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0 aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgdG91Y2hsb2NrIGlubm9jdW91c190b3VjaGxvY2sKfCAK fCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg ZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdG91Y2hs b2NrICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBf X1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9u IGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5j bHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8 IAp8ICN1bmRlZiB0b3VjaGxvY2sKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHRvdWNobG9jayAoKTsKfCAvKiBU aGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs ZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMg YXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0 aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl90b3Vj aGxvY2sgfHwgZGVmaW5lZCBfX3N0dWJfX190b3VjaGxvY2sKfCBjaG9rZSBtZQp8ICNlbmRpZgp8 IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHRvdWNobG9jayAoKTsKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjEzNDYwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzQ2MDog Y2hlY2tpbmcgZm9yIGNmbWFrZXJhdwpjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0 b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAt bHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0 aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMzQ2MDogJD8gPSAwCmNv bmZpZ3VyZToxMzQ2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYwOiBjaGVja2luZyBmb3Ig Y2ZzZXRzcGVlZApjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2lu Y2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0 LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAt bG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMg LWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMzQ2MDogJD8gPSAwCmNvbmZpZ3VyZToxMzQ2 MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDYwOiBjaGVja2luZyBmb3IgY29weXNpZ24KY29u ZmlndXJlOjEzNDYwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQv ZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1s WG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAg PiY1IApjb25mdGVzdC5jOjE0ODo2OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVp bHQtaW4gZnVuY3Rpb24gJ2NvcHlzaWduJyBbZW5hYmxlZCBieSBkZWZhdWx0XQogY2hhciBjb3B5 c2lnbiAoKTsKICAgICAgXgpjb25maWd1cmU6MTM0NjA6ICQ/ID0gMApjb25maWd1cmU6MTM0NjA6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ2MDogY2hlY2tpbmcgZm9yIF9fZXhlY3V0YWJsZV9z dGFydApjb25maWd1cmU6MTM0NjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUg IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxt IC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAt bFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAt bGljb252ICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLl9fZXhl Y3V0YWJsZV9zdGFydApsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0 IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCBy ZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMzQ2MDogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9f X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NB X0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQg MQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5S RVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhB VkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNk ZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tf YXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEK fCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhB VkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNk ZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBI QVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRI T1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVT QUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFW RV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhD T05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NU UlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRU TyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUg MQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBI QVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lY X01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEK fCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBE ZWZpbmUgX19leGVjdXRhYmxlX3N0YXJ0IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl IDxsaW1pdHMuaD4gZGVjbGFyZXMgX19leGVjdXRhYmxlX3N0YXJ0Lgp8ICAgIEZvciBleGFtcGxl LCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZp bmUgX19leGVjdXRhYmxlX3N0YXJ0IGlubm9jdW91c19fX2V4ZWN1dGFibGVfc3RhcnQKfCAKfCAv KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3 IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX19leGVjdXRh YmxlX3N0YXJ0ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5o PiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBl dmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8 ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNl bmRpZgp8IAp8ICN1bmRlZiBfX2V4ZWN1dGFibGVfc3RhcnQKfCAKfCAvKiBPdmVycmlkZSBhbnkg R0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBi ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWls dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq Lwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIF9fZXhl Y3V0YWJsZV9zdGFydCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGgg RU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGlu ZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8 ICNpZiBkZWZpbmVkIF9fc3R1Yl9fX2V4ZWN1dGFibGVfc3RhcnQgfHwgZGVmaW5lZCBfX3N0dWJf X19fX2V4ZWN1dGFibGVfc3RhcnQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4g KCkKfCB7CnwgcmV0dXJuIF9fZXhlY3V0YWJsZV9zdGFydCAoKTsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjEzNDYwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzQ3NzogY2hlY2tp bmcgZm9yIGdldHdkCmNvbmZpZ3VyZToxMzQ3NzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMv aW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRl c3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252 IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0 cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEzNDc3OiAkPyA9IDAKY29uZmlndXJlOjEz NDc3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM0OTk6IGNoZWNraW5nIGZvciByYW5kb20KY29u ZmlndXJlOjEzNDk5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQv ZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1s WG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAg PiY1IApjb25maWd1cmU6MTM0OTk6ICQ/ID0gMApjb25maWd1cmU6MTM0OTk6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMzQ5OTogY2hlY2tpbmcgZm9yIHJpbnQKY29uZmlndXJlOjEzNDk5OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9s aWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1s MiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElD RSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25mdGVzdC5jOjE1 MTo2OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3Jp bnQnIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiBjaGFyIHJpbnQgKCk7CiAgICAgIF4KY29uZmlndXJl OjEzNDk5OiAkPyA9IDAKY29uZmlndXJlOjEzNDk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM1 MTA6IGNoZWNraW5nIGZvciBfX2J1aWx0aW5fdW53aW5kX2luaXQKY29uZmlndXJlOjEzNTI2OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1s eG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAt bElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6 MTM1MjY6ICQ/ID0gMApjb25maWd1cmU6MTM1MzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzU0 NjogY2hlY2tpbmcgZm9yIF9MQVJHRUZJTEVfU09VUkNFIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2Ug ZmlsZXMKY29uZmlndXJlOjEzNTY1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRl ICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1s bSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAg LWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0g LWxpY29udiAgPiY1IApjb25maWd1cmU6MTM1NjU6ICQ/ID0gMApjb25maWd1cmU6MTM1OTM6IHJl c3VsdDogbm8KY29uZmlndXJlOjEzNjE1OiBjaGVja2luZyB3aGV0aGVyIGdldHBncnAgcmVxdWly ZXMgemVybyBhcmd1bWVudHMKY29uZmlndXJlOjEzNjMyOiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1jICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRl c3QuYzoxNjc6MTogZXJyb3I6IHRvbyBtYW55IGFyZ3VtZW50cyB0byBmdW5jdGlvbiAnZ2V0cGdy cCcKIGdldHBncnAgKDApOwogXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZnRlc3QuYzoxNjI6 MDoKL3Vzci9pbmNsdWRlL3VuaXN0ZC5oOjE2MjoxNDogbm90ZTogZGVjbGFyZWQgaGVyZQogZXh0 ZXJuIHBpZF90IGdldHBncnAodm9pZCk7CiAgICAgICAgICAgICAgXgpjb25maWd1cmU6MTM2MzI6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9Q T1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5l IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5f SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO TlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hf STE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYg MQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVm aW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1J bnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAj ZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9Q TkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZp bmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hf RVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEK fCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwg I2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9O QU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwg I2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENX RCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8g MQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8 ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5l IEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8 ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5l IEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhB VkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEK fCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNF RUtPIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lm ZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRl IDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMg aWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGlu Y2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYK fCBpbnQKfCBtYWluICgpCnwgewp8IGdldHBncnAgKDApOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MTM2NDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzY1MjogY2hlY2tpbmcg Zm9yIGdyYW50cHQKY29uZmlndXJlOjEzNjUyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9p bmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVz dC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYg LWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRz IC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTM2NTI6ICQ/ID0gMApjb25maWd1cmU6MTM2 NTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzY2NjogY2hlY2tpbmcgZm9yIGdldHB0CmNvbmZp Z3VyZToxMzY2NjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2Zy ZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFht dSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4m NSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAuZ2V0cHQKbGQ6IDA3MTEt MzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUg aW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpj b25maWd1cmU6MTM2NjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJl bWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VU U05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEK fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJN X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhB VkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9M T05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VU REFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwg I2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmlu ZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9M SUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5l IEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZF X1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwg I2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1B SUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBI QVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NF TEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9D QUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2Rl ZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhB VkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFW RV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNW RlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVF Uk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NU RU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEK fCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhB VkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBI QVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9H RVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtF UkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdO IDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZp bmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAj ZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBI QVZFX0dSQU5UUFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2V0cHQg dG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRw dC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGdldHB0IGlubm9jdW91c19nZXRwdAp8IAp8IC8qIFN5c3Rl bSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90 eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRwdCAoKTsgYmVsb3cu CnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVm aW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcg Y29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5o Pgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZ2V0 cHQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi QyIKfCAjZW5kaWYKfCBjaGFyIGdldHB0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmlu ZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlz IGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAg ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBh bGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2dldHB0IHx8IGRlZmluZWQgX19zdHViX19f Z2V0cHQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IGdldHB0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTM2NjY6IHJlc3Vs dDogbm8KY29uZmlndXJlOjEzNjY2OiBjaGVja2luZyBmb3IgcG9zaXhfb3BlbnB0CmNvbmZpZ3Vy ZToxMzY2NjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVz dCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3 YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAt bFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAK Y29uZmlndXJlOjEzNjY2OiAkPyA9IDAKY29uZmlndXJlOjEzNjY2OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTM2ODE6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgdHB1dHMKY29uZmln dXJlOjEzNzM0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJl ZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11 IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1 IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC50cHV0cwpsZDogMDcxMS0z NDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBp bmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNv bmZpZ3VyZToxMzczNDogJD8gPSAxCmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0 dXMgMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhB VkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFN X0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElN RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf RkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVN QkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4 TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5l IEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0 YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdf SCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUg SEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJS Tk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAj ZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2Rl ZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhB VkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhB VkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVf R0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtP IDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAg IGV4dGVybiB2b2lkIHRwdXRzIChjb25zdCBjaGFyICosIGludCwgaW50ICgqKShpbnQpKTsKfCAg ICAgICAgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKfCAgICAgICAgewp8IAkgIGlm IChhcmdjID09IDEwMDAwKQp8IAkgICAgdHB1dHMgKGFyZ3ZbMF0sIDAsIDApOwp8IAkgIHJldHVy biAwOwp8ICAgICAgICB9CnwgCmNvbmZpZ3VyZToxMzczNDogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAg Y29uZnRlc3QuYyAtbHRpbmZvIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJl YWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEg LWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb2xsZWN0MjogZmF0YWwgZXJyb3I6 IGxpYnJhcnkgbGlidGluZm8gbm90IGZvdW5kCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZp Z3VyZToxMzczNDogJD8gPSAxCmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMg MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJ T04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFS V0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBf TEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVf RkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxB R1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUg SEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVS T0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAx CnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhB VkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50 aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAx CnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFW RV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8g MQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVm aW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmlu ZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwg I2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNk ZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVf R0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMg MQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZp bmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVf Q0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VU V0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEK fCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZp bmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgIGV4 dGVybiB2b2lkIHRwdXRzIChjb25zdCBjaGFyICosIGludCwgaW50ICgqKShpbnQpKTsKfCAgICAg ICAgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKfCAgICAgICAgewp8IAkgIGlmIChh cmdjID09IDEwMDAwKQp8IAkgICAgdHB1dHMgKGFyZ3ZbMF0sIDAsIDApOwp8IAkgIHJldHVybiAw Owp8ICAgICAgICB9CnwgCmNvbmZpZ3VyZToxMzczNDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29u ZnRlc3QuYyAtbG5jdXJzZXMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVh ZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAt bHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbGxlY3QyOiBmYXRhbCBlcnJvcjog bGlicmFyeSBsaWJuY3Vyc2VzIG5vdCBmb3VuZApjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25m aWd1cmU6MTM3MzQ6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVz IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZF X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5l IEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJF Uk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4g MQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAj ZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBI QVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFu dGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0gg MQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhB VkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5P IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2Rl ZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZp bmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAx CnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZp bmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZF X1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8 ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZF X0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5D IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVm aW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2Rl ZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZF X0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dF VFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVm aW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgICBl eHRlcm4gdm9pZCB0cHV0cyAoY29uc3QgY2hhciAqLCBpbnQsIGludCAoKikoaW50KSk7CnwgICAg ICAgIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCnwgICAgICAgIHsKfCAJICBpZiAo YXJnYyA9PSAxMDAwMCkKfCAJICAgIHRwdXRzIChhcmd2WzBdLCAwLCAwKTsKfCAJICByZXR1cm4g MDsKfCAgICAgICAgfQp8IApjb25maWd1cmU6MTM3MzQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNv bmZ0ZXN0LmMgLWx0ZXJtaW5mbyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhy ZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDEx IC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29sbGVjdDI6IGZhdGFsIGVycm9y OiBsaWJyYXJ5IGxpYnRlcm1pbmZvIG5vdCBmb3VuZApjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpj b25maWd1cmU6MTM3MzQ6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3Rh dHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBI QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVm aW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5V TUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kx OE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEK fCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmlu ZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5z dGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2Rl ZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5H X0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VS Uk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNk ZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBI QVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0Qg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEK fCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAj ZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUg SEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZT WU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBI QVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZF X0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwg ICBleHRlcm4gdm9pZCB0cHV0cyAoY29uc3QgY2hhciAqLCBpbnQsIGludCAoKikoaW50KSk7Cnwg ICAgICAgIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCnwgICAgICAgIHsKfCAJICBp ZiAoYXJnYyA9PSAxMDAwMCkKfCAJICAgIHRwdXRzIChhcmd2WzBdLCAwLCAwKTsKfCAJICByZXR1 cm4gMDsKfCAgICAgICAgfQp8IApjb25maWd1cmU6MTM3MzQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWx0ZXJtY2FwIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0 aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxY MTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb2xsZWN0MjogZmF0YWwgZXJy b3I6IGxpYnJhcnkgbGlidGVybWNhcCBub3QgZm91bmQKY29tcGlsYXRpb24gdGVybWluYXRlZC4K Y29uZmlndXJlOjEzNzM0OiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0 YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUg VkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUg SEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2Rl ZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5O VU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9J MThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAx CnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZp bmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUlu c3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BO R19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmlu ZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9F UlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8 ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05B TUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAj ZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUg SEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dE IDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwg I2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUg SEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9G U1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwg I2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUg SEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFW RV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8 ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VF S08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwg I2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8 ICAgZXh0ZXJuIHZvaWQgdHB1dHMgKGNvbnN0IGNoYXIgKiwgaW50LCBpbnQgKCopKGludCkpOwp8 ICAgICAgICBpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQp8ICAgICAgICB7CnwgCSAg aWYgKGFyZ2MgPT0gMTAwMDApCnwgCSAgICB0cHV0cyAoYXJndlswXSwgMCwgMCk7CnwgCSAgcmV0 dXJuIDA7CnwgICAgICAgIH0KfCAKY29uZmlndXJlOjEzNzM0OiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9j ICBjb25mdGVzdC5jIC1sY3Vyc2VzIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0 aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxY MTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTM3MzQ6ICQ/ ID0gMApjb25maWd1cmU6MTM3MzQ6IC4vY29uZnRlc3QKY29uZmlndXJlOjEzNzM0OiAkPyA9IDAK Y29uZmlndXJlOjEzNzQ4OiByZXN1bHQ6IC1sY3Vyc2VzCmNvbmZpZ3VyZToxMzg2NTogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGli IC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIg LWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0Ug IC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEzODY1 OiAkPyA9IDAKY29uZmlndXJlOjE0NjI0OiBjaGVja2luZyBmb3IgdHpzZXQKY29uZmlndXJlOjE0 NjI0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAt TzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUv bGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQg LWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25m aWd1cmU6MTQ2MjQ6ICQ/ID0gMApjb25maWd1cmU6MTQ2MjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNDYyNDogY2hlY2tpbmcgZm9yIHJlYWRsaW5rYXQKY29uZmlndXJlOjE0NjI0OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAt bHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAg LWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcxMS0zMTcgRVJS T1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5yZWFkbGlua2F0CmxkOiAwNzExLTM0NSBVc2UgdGhlIC1i bG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpj b2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0NjI0 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmlu ZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VO X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVT IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAj ZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVF Tk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9Y X0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2 IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2Rl ZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklN SW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf UE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVm aW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9I X0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJf TkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8 ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRD V0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZP IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEK fCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmlu ZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZF X0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmlu ZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBI QVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAx CnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZT RUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8IC8qIERlZmluZSByZWFkbGlua2F0IHRvIGFuIGlubm9jdW91cyB2YXJpYW50 LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgcmVhZGxpbmthdC4KfCAgICBGb3IgZXhhbXBs ZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVm aW5lIHJlYWRsaW5rYXQgaW5ub2N1b3VzX3JlYWRsaW5rYXQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVy IHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwg ICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgcmVhZGxpbmthdCAoKTsgYmVsb3cuCnwg ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5l ZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t cGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8 ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgcmVhZGxp bmthdAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk IGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1 cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3Rv dHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJu ICJDIgp8ICNlbmRpZgp8IGNoYXIgcmVhZGxpbmthdCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFy eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRv IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5h bWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9yZWFkbGlua2F0IHx8IGRlZmlu ZWQgX19zdHViX19fcmVhZGxpbmthdAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCByZXR1cm4gcmVhZGxpbmthdCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjE0NjI0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDYyNDogY2hlY2tpbmcgZm9y IGdldHRpbWVvZmRheQpjb25maWd1cmU6MTQ2MjQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z L2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0 ZXN0LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29u diAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxy dHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxNDYyNDogJD8gPSAwCmNvbmZpZ3VyZTox NDYyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NjI0OiBjaGVja2luZyBmb3IgbmFub3RpbWUK Y29uZmlndXJlOjE0NjI0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9v cHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0 IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29u diAgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5uYW5vdGltZQps ZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRh aW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQg c3RhdHVzCmNvbmZpZ3VyZToxNDYyNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBB Q0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5l IF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9V VE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFW RV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gx MVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEK fCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAx CnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNk ZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lE IDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VU REVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNk ZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAj ZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2Rl ZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVf VFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAvKiBEZWZpbmUgbmFub3RpbWUgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNh c2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBuYW5vdGltZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVgg MTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIG5hbm90 aW1lIGlubm9jdW91c19uYW5vdGltZQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2Fu IGNvbmZsaWN0IHdpdGggY2hhciBuYW5vdGltZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGlt aXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAg PGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAK fCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNs dWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbmFub3RpbWUKfCAKfCAvKiBPdmVy cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBV c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBj aGFyIG5hbm90aW1lICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3Ig ZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBF Tk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5n IHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwg I2lmIGRlZmluZWQgX19zdHViX25hbm90aW1lIHx8IGRlZmluZWQgX19zdHViX19fbmFub3RpbWUK fCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG5hbm90 aW1lICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ2MjQ6IHJlc3VsdDog bm8KY29uZmlndXJlOjE0NjI0OiBjaGVja2luZyBmb3IgbHN0YXQKY29uZmlndXJlOjE0NjI0OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1s eG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAt bElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6 MTQ2MjQ6ICQ/ID0gMApjb25maWd1cmU6MTQ2MjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDYy NDogY2hlY2tpbmcgZm9yIGFsYXJtCmNvbmZpZ3VyZToxNDYyNDogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3Rv YyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1s eiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRo cmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE0NjI0OiAkPyA9IDAKY29u ZmlndXJlOjE0NjI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ2MjQ6IGNoZWNraW5nIGZvciBw c2VsZWN0CmNvbmZpZ3VyZToxNDYyNDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAt bG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAg IC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElN IC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE0NjI0OiAkPyA9IDAKY29uZmlndXJlOjE0NjI0OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ2MjQ6IGNoZWNraW5nIGZvciBwdGhyZWFkX3NpZ21hc2sK Y29uZmlndXJlOjE0NjI0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9v cHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0 IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29u diAgPiY1IApjb25maWd1cmU6MTQ2MjQ6ICQ/ID0gMApjb25maWd1cmU6MTQ2MjQ6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNDYyNDogY2hlY2tpbmcgZm9yIHJlYWRsaW5rCmNvbmZpZ3VyZToxNDYy NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8z ICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNz LTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xp YiAtbHhtbDIgLWxwdGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1s U00gLWxJQ0UgIC1sWDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmln dXJlOjE0NjI0OiAkPyA9IDAKY29uZmlndXJlOjE0NjI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTQ2MjQ6IGNoZWNraW5nIGZvciBzdHJ0b2ltYXgKY29uZmlndXJlOjE0NjI0OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVds LC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0 aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxY MTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTQ2MjQ6ICQ/ ID0gMApjb25maWd1cmU6MTQ2MjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDYyNDogY2hlY2tp bmcgZm9yIHN0cnRvdW1heApjb25maWd1cmU6MTQ2MjQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNv bmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxp Y29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQg LWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxNDYyNDogJD8gPSAwCmNvbmZpZ3Vy ZToxNDYyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NjI0OiBjaGVja2luZyBmb3Igc3ltbGlu awpjb25maWd1cmU6MTQ2MjQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1M L29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhl eHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGlj b252ICA+JjUgCmNvbmZpZ3VyZToxNDYyNDogJD8gPSAwCmNvbmZpZ3VyZToxNDYyNDogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE0NjI0OiBjaGVja2luZyBmb3IgbG9jYWx0aW1lX3IKY29uZmlndXJl OjE0NjI0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdh cmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1s WHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApj b25maWd1cmU6MTQ2MjQ6ICQ/ID0gMApjb25maWd1cmU6MTQ2MjQ6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNDYyNDogY2hlY2tpbmcgZm9yIGZ1dGltZXMKY29uZmlndXJlOjE0NjI0OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAt bHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAg LWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcxMS0zMTcgRVJS T1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5mdXRpbWVzCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9h ZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xs ZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0NjI0OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBI QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVm aW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5V TUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kx OE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEK fCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmlu ZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5z dGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2Rl ZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5H X0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VS Uk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNk ZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBI QVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0Qg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEK fCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAj ZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUg SEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZT WU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBI QVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZF X0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5l IEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZp bmUgZnV0aW1lcyB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRl Y2xhcmVzIGZ1dGltZXMuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRl Y2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBmdXRpbWVzIGlubm9jdW91c19mdXRp bWVzCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9w ZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFy IGZ1dGltZXMgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+ IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2 ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwg IyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2Vu ZGlmCnwgCnwgI3VuZGVmIGZ1dGltZXMKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBt aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBf X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGZ1dGltZXMgKCk7CnwgLyog VGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1w bGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z IGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZnV0 aW1lcyB8fCBkZWZpbmVkIF9fc3R1Yl9fX2Z1dGltZXMKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8 IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGZ1dGltZXMgKCk7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZToxNDYyNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ2MjQ6IGNoZWNr aW5nIGZvciBmdXRpbWVzYXQKY29uZmlndXJlOjE0NjI0OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1s aWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFk IC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBz eW1ib2w6IC5mdXRpbWVzYXQKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9x dWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjog bGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTQ2MjQ6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFj cyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMi CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklM RVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE Ul9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NS RUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4g MQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmlu ZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFW RV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEK fCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxi YWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEK fCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dF VFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQ QVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEK fCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBI QVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFW RV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9T RU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RS RVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAx CnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZp bmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9Q T1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVf RU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdS RU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVF RCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNk ZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVf X19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5l IEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9Q T1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5J VCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK fCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBI QVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZF X1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NB TFRJTUVfUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBmdXRpbWVzYXQg dG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBmdXRp bWVzYXQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdl dHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBmdXRpbWVzYXQgaW5ub2N1b3VzX2Z1dGltZXNhdAp8 IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxs eSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBmdXRp bWVzYXQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlm IF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4g b24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBp bmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlm CnwgCnwgI3VuZGVmIGZ1dGltZXNhdAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwg cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1p Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9f Y3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZnV0aW1lc2F0ICgpOwp8IC8q IFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGlt cGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9u cyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5k IHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2Z1 dGltZXNhdCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2Z1dGltZXNhdAp8IGNob2tlIG1lCnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZnV0aW1lc2F0ICgpOwp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ2MjQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NjI0 OiBjaGVja2luZyBmb3IgZnV0aW1lbnMKY29uZmlndXJlOjE0NjI0OiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmln dG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQg LWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxw dGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVm aW5lZCBzeW1ib2w6IC5mdXRpbWVucwpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3Ig LWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVy cm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDYyNDogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJH RV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05U TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZF X1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlND UkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRl Q2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAj ZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hf U00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwg I2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUg SEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhB VkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElN RVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVm aW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dB SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRM SU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwg I2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf RU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNF VFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNk ZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JF U19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVm aW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMVElNRV9SIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGZ1dGlt ZW5zIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMg ZnV0aW1lbnMuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVz IGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBmdXRpbWVucyBpbm5vY3VvdXNfZnV0aW1lbnMK fCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs bHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZnV0 aW1lbnMgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlm IF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4g b24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBp bmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlm CnwgCnwgI3VuZGVmIGZ1dGltZW5zCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19j cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBmdXRpbWVucyAoKTsKfCAvKiBU aGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs ZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMg YXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0 aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9mdXRp bWVucyB8fCBkZWZpbmVkIF9fc3R1Yl9fX2Z1dGltZW5zCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAK fCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmdXRpbWVucyAoKTsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjE0NjI0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDYyNDogY2hl Y2tpbmcgZm9yIHV0aW1lbnNhdApjb25maWd1cmU6MTQ2MjQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHog LWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJl YWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVk IHN5bWJvbDogLnV0aW1lbnNhdApsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJu b3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9y OiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDYyNDogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu MyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9G SUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVF TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVm aW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBI QVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0g MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2Fs bGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00g MQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZp bmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVf RlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMg MQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZF X1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09D S05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5F IDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZF X1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E R1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQ RUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwg I2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFW RV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZp bmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZF X1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19J TklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkg MQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5l IEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xP Q0FMVElNRV9SIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHV0aW1lbnNh dCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHV0 aW1lbnNhdC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMg Z2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHV0aW1lbnNhdCBpbm5vY3VvdXNfdXRpbWVuc2F0 CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1 bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHV0 aW1lbnNhdCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4g aWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZl biBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAj IGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5k aWYKfCAKfCAjdW5kZWYgdXRpbWVuc2F0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciB1dGltZW5zYXQgKCk7Cnwg LyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQg aW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rp b25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBh bmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJf dXRpbWVuc2F0IHx8IGRlZmluZWQgX19zdHViX19fdXRpbWVuc2F0CnwgY2hva2UgbWUKfCAjZW5k aWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiB1dGltZW5zYXQgKCk7CnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDYyNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ2 MjQ6IGNoZWNraW5nIGZvciBsdXRpbWVzCmNvbmZpZ3VyZToxNDYyNDogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJp Z3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxwdGhyZWFk IC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1sWDExIC1s cHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRl ZmluZWQgc3ltYm9sOiAubHV0aW1lcwpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3Ig LWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVy cm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDYyNDogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJH RV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05U TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZF X1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlND UkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRl Q2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAj ZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hf U00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwg I2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUg SEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhB VkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElN RVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVm aW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dB SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRM SU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwg I2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf RU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNF VFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNk ZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JF U19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVm aW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMVElNRV9SIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGx1dGlt ZXMgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBs dXRpbWVzLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBn ZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgbHV0aW1lcyBpbm5vY3VvdXNfbHV0aW1lcwp8IAp8 IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBm ZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBsdXRpbWVz ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NU RENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZy ZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVk ZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8 ICN1bmRlZiBsdXRpbWVzCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBsdXRpbWVzICgpOwp8IC8qIFRoZSBHTlUg QyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMK fCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0 dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3Jt YWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2x1dGltZXMgfHwg ZGVmaW5lZCBfX3N0dWJfX19sdXRpbWVzCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBt YWluICgpCnwgewp8IHJldHVybiBsdXRpbWVzICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MTQ2MjQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NjM2OiBjaGVja2luZyB3aGV0 aGVyIGxvY2FsdGltZSBjYWNoZXMgVFoKY29uZmlndXJlOjE0NjcwOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmln dG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQg LWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxw dGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25mdGVzdC5jOjE1MDoxOiB3YXJuaW5n OiByZXR1cm4gdHlwZSBkZWZhdWx0cyB0byAnaW50JyBbZW5hYmxlZCBieSBkZWZhdWx0XQogbWFp bigpCiBeCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNTQ6Mzog d2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3B1dGVudicgWy1XaW1w bGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIGlmIChwdXRlbnYgKFRaX0dNVDApICE9IDAp CiAgIF4KY29uZnRlc3QuYzoxNTU6NTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24gJ2V4aXQnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICAgIGV4 aXQgKDEpOwogICAgIF4KY29uZnRlc3QuYzoxNTU6NTogd2FybmluZzogaW5jb21wYXRpYmxlIGlt cGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0JyBbZW5hYmxlZCBi eSBkZWZhdWx0XQpjb25mdGVzdC5jOjE1NzozOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZiBmdW5jdGlvbiAndW5zZXRlbnYnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9u XQogICB1bnNldGVudigiVFoiKTsKICAgXgpjb25mdGVzdC5jOjE2MDo1OiB3YXJuaW5nOiBpbmNv bXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQn IFtlbmFibGVkIGJ5IGRlZmF1bHRdCiAgICAgZXhpdCAoMSk7CiAgICAgXgpjb25mdGVzdC5jOjE2 Mjo1OiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQt aW4gZnVuY3Rpb24gJ2V4aXQnIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiAgICAgZXhpdCAoMSk7CiAg ICAgXgpjb25mdGVzdC5jOjE2NTo1OiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVj bGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQnIFtlbmFibGVkIGJ5IGRlZmF1bHRd CiAgICAgZXhpdCAoMSk7CiAgICAgXgpjb25mdGVzdC5jOjE2NjozOiB3YXJuaW5nOiBpbmNvbXBh dGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQnIFtl bmFibGVkIGJ5IGRlZmF1bHRdCiAgIGV4aXQgKDApOwogICBeCmNvbmZpZ3VyZToxNDY3MDogJD8g PSAwCmNvbmZpZ3VyZToxNDY3MDogLi9jb25mdGVzdApjb25maWd1cmU6MTQ2NzA6ICQ/ID0gMQpj b25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURf VCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2Rl ZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNF U1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5l IEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFS Nl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEK fCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQ b2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBI QVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElC TSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8 ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5E NDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8 ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBI QVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9X TiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFM IDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAj ZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAj ZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUg SEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lO QyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJ R04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZP SUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBU IDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZp bmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBI QVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJ TksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8dGltZS5oPgp8IGNoYXIgVFpfR01U MFtdID0gIlRaPUdNVDAiOwp8IGNoYXIgVFpfUFNUOFtdID0gIlRaPVBTVDgiOwp8IG1haW4oKQp8 IHsKfCAgIHRpbWVfdCBub3cgPSB0aW1lICgodGltZV90ICopIDApOwp8ICAgaW50IGhvdXJfR01U MCwgaG91cl91bnNldDsKfCAgIGlmIChwdXRlbnYgKFRaX0dNVDApICE9IDApCnwgICAgIGV4aXQg KDEpOwp8ICAgaG91cl9HTVQwID0gbG9jYWx0aW1lICgmbm93KS0+dG1faG91cjsKfCAgIHVuc2V0 ZW52KCJUWiIpOwp8ICAgaG91cl91bnNldCA9IGxvY2FsdGltZSAoJm5vdyktPnRtX2hvdXI7Cnwg ICBpZiAocHV0ZW52IChUWl9QU1Q4KSAhPSAwKQp8ICAgICBleGl0ICgxKTsKfCAgIGlmIChsb2Nh bHRpbWUgKCZub3cpLT50bV9ob3VyID09IGhvdXJfR01UMCkKfCAgICAgZXhpdCAoMSk7CnwgICB1 bnNldGVudigiVFoiKTsKfCAgIGlmIChsb2NhbHRpbWUgKCZub3cpLT50bV9ob3VyICE9IGhvdXJf dW5zZXQpCnwgICAgIGV4aXQgKDEpOwp8ICAgZXhpdCAoMCk7CnwgfQpjb25maWd1cmU6MTQ2ODU6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDY5NDogY2hlY2tpbmcgZm9yIHNvY2tldApjb25maWd1 cmU6MTQ2OTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVl d2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUg LWxYdCAtbFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUg CmNvbmZpZ3VyZToxNDY5NDogJD8gPSAwCmNvbmZpZ3VyZToxNDY5NDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE0NzAyOiBjaGVja2luZyBuZXRpbmV0L2luLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTox NDcwMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAgLU8zICAgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 MTQ3MDI6ICQ/ID0gMApjb25maWd1cmU6MTQ3MDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDcw MjogY2hlY2tpbmcgbmV0aW5ldC9pbi5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDcwMjogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLUUgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1 ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTQ3MDI6ICQ/ID0gMApjb25maWd1cmU6MTQ3MDI6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNDcwMjogY2hlY2tpbmcgZm9yIG5ldGluZXQvaW4uaApjb25m aWd1cmU6MTQ3MDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDcxMjogY2hlY2tpbmcgYXJwYS9p bmV0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDcxMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtYyAgLU8zICAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQ3MTI6ICQ/ID0gMApjb25maWd1cmU6MTQ3MTI6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDcxMjogY2hlY2tpbmcgYXJwYS9pbmV0LmggcHJlc2Vu Y2UKY29uZmlndXJlOjE0NzEyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtRSAgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDcxMjog JD8gPSAwCmNvbmZpZ3VyZToxNDcxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NzEyOiBjaGVj a2luZyBmb3IgYXJwYS9pbmV0LmgKY29uZmlndXJlOjE0NzEyOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTQ3MzM6IGNoZWNraW5nIHdoZXRoZXIgc3lzdGVtIHN1cHBvcnRzIGR5bmFtaWMgcHR5cwpj b25maWd1cmU6MTQ3NDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NzUxOiBjaGVja2luZyBmb3Ig cGlkX3QKY29uZmlndXJlOjE0NzUxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1jICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToxNDc1MTogJD8gPSAwCmNvbmZpZ3VyZToxNDc1MTogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAgLU8zICAgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAn bWFpbic6CmNvbmZ0ZXN0LmM6MTg1OjIwOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZv cmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgocGlkX3QpKSkKICAgICAgICAgICAgICAgICAgICBe CmNvbmZpZ3VyZToxNDc1MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4z Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1J VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZF X0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1T RVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2Rl ZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEK fCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVm aW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZF X0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2Rl ZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZp bmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAx CnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhB VkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVf R0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5l IEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVf U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRM T0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUg SEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01L U1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0g MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUg SEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5l IEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1B S0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJ R04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5l IEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBU RVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQg MQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwg I2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FM VElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19I CnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RB VF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURF UlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UK fCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlm CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVB REVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAj IGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ TkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRU WVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU RElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklT VERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsK fCBpZiAoc2l6ZW9mICgocGlkX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6MTQ3NTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDc2NDogY2hl Y2tpbmcgdmZvcmsuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0NzY0OiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1jICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MTgyOjE5OiBmYXRhbCBlcnJvcjog dmZvcmsuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHZmb3JrLmg+CiAg ICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxNDc2 NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZp bmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JF RU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVf WF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRS NiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNk ZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJ TUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZF X1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2Rl ZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf SF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0Yg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEK fCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElS X05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEK fCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VU Q1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZp bmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFW RV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAx CnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZp bmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUg SEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9G U0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAx CnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FM QVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwg I2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVk IEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNs dWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNs dWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVk ZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHZmb3JrLmg+CmNvbmZpZ3VyZToxNDc2 NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ3NjQ6IGNoZWNraW5nIHZmb3JrLmggcHJlc2VuY2UK Y29uZmlndXJlOjE0NzY0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtRSAgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTQ5OjE5OiBm YXRhbCBlcnJvcjogdmZvcmsuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUg PHZmb3JrLmg+CiAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNv bmZpZ3VyZToxNDc2NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAi YWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRT TkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1f SCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xP TkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVRE QVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmlu ZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAj ZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5l IEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJ QlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmlu ZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUg SEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVf VElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJ TF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VU X0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhB VkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NB TEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVm aW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVS TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RF TVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFW RV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhB VkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dF VEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VS QVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04g MQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhB VkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJN SU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhB VkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElN RV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDx2Zm9yay5oPgpjb25maWd1cmU6MTQ3NjQ6IHJlc3VsdDogbm8K Y29uZmlndXJlOjE0NzY0OiBjaGVja2luZyBmb3IgdmZvcmsuaApjb25maWd1cmU6MTQ3NjQ6IHJl c3VsdDogbm8KY29uZmlndXJlOjE0Nzc3OiBjaGVja2luZyBmb3IgZm9yawpjb25maWd1cmU6MTQ3 Nzc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1P MyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFj cy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxtIC1ML29wdC9mcmVld2FyZS9s aWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICAtbFhleHQgLWxYbXUgLWxYdCAt bFNNIC1sSUNFICAtbFgxMSAtbHB0aHJlYWQgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZ0 ZXN0LmM6MTcyOjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5j dGlvbiAnZm9yaycgW2VuYWJsZWQgYnkgZGVmYXVsdF0KIGNoYXIgZm9yayAoKTsKICAgICAgXgpj b25maWd1cmU6MTQ3Nzc6ICQ/ID0gMApjb25maWd1cmU6MTQ3Nzc6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNDc3NzogY2hlY2tpbmcgZm9yIHZmb3JrCmNvbmZpZ3VyZToxNDc3NzogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1X bCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxw dGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1s WDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE0Nzc3OiAk PyA9IDAKY29uZmlndXJlOjE0Nzc3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ3ODc6IGNoZWNr aW5nIGZvciB3b3JraW5nIGZvcmsKY29uZmlndXJlOjE0ODA5OiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9j ICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6 IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhy ZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTQ4MDk6ICQ/ID0gMApjb25m aWd1cmU6MTQ4MDk6IC4vY29uZnRlc3QKY29uZmlndXJlOjE0ODA5OiAkPyA9IDAKY29uZmlndXJl OjE0ODE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ4NDA6IGNoZWNraW5nIGZvciB3b3JraW5n IHZmb3JrCmNvbmZpZ3VyZToxNDk1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0OTc4OiBjaGVj a2luZyBmb3Igc25wcmludGYKY29uZmlndXJlOjE0OTc4OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1s aWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFk IC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25mdGVzdC5jOjE3Njo2OiB3YXJuaW5nOiBjb25m bGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3NucHJpbnRmJyBbZW5hYmxlZCBi eSBkZWZhdWx0XQogY2hhciBzbnByaW50ZiAoKTsKICAgICAgXgpjb25maWd1cmU6MTQ5Nzg6ICQ/ ID0gMApjb25maWd1cmU6MTQ5Nzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDk4ODogY2hlY2tp bmcgZm9yIG5sX2xhbmdpbmZvIGFuZCBDT0RFU0VUCmNvbmZpZ3VyZToxNTAwNDogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8zICAgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1X bCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbG0gLUwvb3B0L2ZyZWV3YXJlL2xpYiAtbHhtbDIgLWxw dGhyZWFkIC1seiAtbGljb252IC1sbSAgIC1sWGV4dCAtbFhtdSAtbFh0IC1sU00gLWxJQ0UgIC1s WDExIC1scHRocmVhZCAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE1MDA0OiAk PyA9IDAKY29uZmlndXJlOjE1MDEzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUwMjE6IGNoZWNr aW5nIGZvciBtYnN0YXRlX3QKY29uZmlndXJlOjE1MDM4OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1jICAtTzMgICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNTAzODogJD8gPSAwCmNvbmZpZ3VyZToxNTA0 NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MDU3OiBjaGVja2luZyBmb3IgQyByZXN0cmljdGVk IGFycmF5IGRlY2xhcmF0aW9ucwpjb25maWd1cmU6MTUwNzM6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLWMgIC1PMyAgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2lu Y2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE1MDczOiAkPyA9IDAKY29uZmlndXJlOjE1 MDgwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU0MDE6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IHVzaW5nIHRoZSBHTlUgQyBsaWJyYXJ5CmNvbmZpZ3VyZToxNTQxOTogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLUUgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRl c3QuYwpjb25mdGVzdC5jOjE3NjoyMjogZmF0YWwgZXJyb3I6IGZlYXR1cmVzLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxmZWF0dXJlcy5oPgogICAgICAgICAgICAgICAg ICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTU0MTk6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFS R0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNO VExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1Mg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZT Q1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZp bmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVf WElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0 ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9Y X1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBI QVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VU TElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZT RVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0Qg MQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9S RVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9G REFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2Rl ZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFW RV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJp Y3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZp bmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZF X1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNF UENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05B TUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNf REVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykg PT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZ X1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2Rl ZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFU SU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklO VEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVf U1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFM U19WSUFfQ0hBUkFDVEVSUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRl IDxmZWF0dXJlcy5oPgp8ICNpZm5kZWYgX19HTlVfTElCUkFSWV9fCnwgIyBlcnJvciAidGhpcyBp cyBub3QgdGhlIEdOVSBDIGxpYnJhcnkiCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1NDI1OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxNTY5NjogY2hlY2tpbmcgZm9yIF9zZXRqbXAKY29uZmlndXJlOjE1NzE1OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzMgICAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9s aWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sbSAtTC9vcHQvZnJlZXdhcmUvbGliIC1seG1s MiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxYZXh0IC1sWG11IC1sWHQgLWxTTSAtbElD RSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTU3 MTU6ICQ/ID0gMApjb25maWd1cmU6MTU3MjM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTgxMzog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLUUgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z L2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTU4MTM6ICQ/ID0gMApjb25maWd1cmU6MTU5 MjY6IGNoZWNraW5nIGZvciB1c2FibGUgRklPTlJFQUQKY29uZmlndXJlOjE1OTYyOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxNjMwNDogY2hlY2tpbmcgZm9yIHdvcmtpbmcgYWxsb2NhLmgKY29uZmln dXJlOjE2MzIxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApj b25maWd1cmU6MTYzMjE6ICQ/ID0gMApjb25maWd1cmU6MTYzMjk6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNjMzNzogY2hlY2tpbmcgZm9yIGFsbG9jYQpjb25maWd1cmU6MTYzNzQ6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2ws LWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNjM3NDogJD8g PSAwCmNvbmZpZ3VyZToxNjM4MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NDk1OiBjaGVja2lu ZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFuCmNvbmZpZ3VyZToxNjUxMDogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE5Njo5OiBlcnJv cjogdW5rbm93biB0eXBlIG5hbWUgJ25vdCcKICAgICAgICAgbm90IGEgdW5pdmVyc2FsIGNhcGFi bGUgY29tcGlsZXIKICAgICAgICAgXgpjb25mdGVzdC5jOjE5NjoxNTogZXJyb3I6IGV4cGVjdGVk ICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ3VuaXZlcnNh bCcKICAgICAgICAgbm90IGEgdW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKICAgICAgICAgICAg ICAgXgpjb25mdGVzdC5jOjE5NjoxNTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1bml2ZXJz YWwnCmNvbmZpZ3VyZToxNjUxMDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZM SU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9Y Uk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAj ZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBI QVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5l IEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhB VkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVm aW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEK fCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZp bmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVM SU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZp bmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9D Rk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09Q WVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwg I2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExP Q0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBI QVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUg QU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VO X0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIv ZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsg YysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9w dGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0 eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5l IFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNl KQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRT IDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19T RVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUg Q09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklH X09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fs c3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xr aXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhv dXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9v bGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+ JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicg J0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9Y X1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAj ZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxf QUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZm5kZWYgX19BUFBMRV9DQ19fCnwgCSAgICAg ICBub3QgYSB1bml2ZXJzYWwgY2FwYWJsZSBjb21waWxlcgp8IAkgICAgICNlbmRpZgp8IAkgICAg IHR5cGVkZWYgaW50IGR1bW15Owp8IApjb25maWd1cmU6MTY1NTU6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2lu Y2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE2NTU1OiAkPyA9IDAKY29uZmlndXJlOjE2 NTczOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNjU3 MzogJD8gPSAwCmNvbmZpZ3VyZToxNjcwMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NzIwOiBj aGVja2luZyBmb3IgaW5saW5lCmNvbmZpZ3VyZToxNjczNjogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTY3MzY6ICQ/ID0gMApjb25maWd1cmU6MTY3NDQ6 IHJlc3VsdDogaW5saW5lCmNvbmZpZ3VyZToxNjc2MzogY2hlY2tpbmcgd2hldGhlciBzdHJ0b2xk IGNvbmZvcm1zIHRvIEM5OQpjb25maWd1cmU6MTY3OTA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z L2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0 ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNjc5MDogJD8gPSAwCmNvbmZpZ3VyZTox Njc5ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2OTM2OiBjaGVja2luZyBpZiBlbnZpcm9uIGlz IHByb3Blcmx5IGRlY2xhcmVkCmNvbmZpZ3VyZToxNjk1OTogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjIwMzozOTogZXJyb3I6IGNvbmZsaWN0aW5nIHR5 cGVzIGZvciAnZW52aXJvbicKICAgICAgICAgICAgZXh0ZXJuIHN0cnVjdCB7IGludCBmb287IH0g ZW52aXJvbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxl IGluY2x1ZGVkIGZyb20gY29uZnRlc3QuYzoxOTg6MDoKL3Vzci9pbmNsdWRlL3VuaXN0ZC5oOjg3 MzoxNTogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2Vudmlyb24nIHdhcyBoZXJlCiBl eHRlcm4gY2hhciAqKmVudmlyb247CiAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjE2OTU5OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBI QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVm aW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5V TUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kx OE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEK fCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmlu ZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5z dGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2Rl ZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5H X0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VS Uk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNk ZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBI QVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0Qg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEK fCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAj ZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUg SEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZT WU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBI QVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZF X0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5l IEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVm aW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBI QVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf TEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBf X3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEK fCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZp bmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2Rl ZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJf RlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVm aW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykg KChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJ UkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZ X0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFN RV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RU WV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5l IFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQo RklMRSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2UpCnwgI2RlZmluZSBEQVRBX1NUQVJU IDB4MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUg R0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cg LyoqLwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAo QykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hF QURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJt LWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXByZWZpeD08 VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQu MycgJy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJ Uj4nICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtpdD1sdWNpZCcgJy0td2l0aG91dC1z b3VuZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91dC1rZXJiZXJvczUnICctLXdpdGgt Z2lmPW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzJyAnLS1l bmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4nICctLXdpdGhvdXQtbWFrZWluZm8n ICctLWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAnQ0M9PFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMv bGliJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUnIgp8ICNkZWZp bmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBV U0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwg I2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VO RElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2lmIEhBVkVfVU5JU1REX0gKfCAgICAgICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAgICAg ICNlbmRpZgp8ICAgICAgLyogbWluZ3csIEJlT1MsIEhhaWt1IGRlY2xhcmUgZW52aXJvbiBpbiA8 c3RkbGliLmg+LCBub3QgaW4gPHVuaXN0ZC5oPi4gICovCnwgICAgICAjaW5jbHVkZSA8c3RkbGli Lmg+CnwgCnwgICAgICAgICAgICBleHRlcm4gc3RydWN0IHsgaW50IGZvbzsgfSBlbnZpcm9uOwp8 IGludAp8IG1haW4gKCkKfCB7CnwgZW52aXJvbi5mb28gPSAxOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MTY5Njc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjk4NjogY2hlY2tp bmcgZm9yIHN0X2RtX21vZGUgaW4gc3RydWN0IHN0YXQKY29uZmlndXJlOjE3MDA0OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoyMDQ6MTc6IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFzIG5vIG1l bWJlciBuYW1lZCAnc3RfZG1fbW9kZScKIHN0cnVjdCBzdGF0IHM7IHMuc3RfZG1fbW9kZTsKICAg ICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToxNzAwNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2Rl ZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVE X1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNk ZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJD RVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmlu ZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAx CnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBY UG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5H IDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUg SEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJ Qk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFN RSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEK fCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFO RDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERP V04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05B TCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwg I2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwg I2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5l IEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFM SUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZF X1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f VU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9W T0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5Q VCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVm aW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVD VCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURM SU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEK fCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAx CnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNk ZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmlj dAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJ T04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2Rl ZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVm aW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MK fCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykg MAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQ KQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNk ZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09V TkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAo YyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAo cHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJT IDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAo RklMRSktPl9iYXNlKQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBE QVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2Rl ZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoq Lwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmlu ZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAn LS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJ Uj4nICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0t d2l0aC14LXRvb2xraXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVy b3MnICctLXdpdGhvdXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICct LXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExP Q0FMTElTUFBBVEg+JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9w dGltaXphdGlvbicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycg J0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAj ZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhB VkVfWDExIDEKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwg I2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQSAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9D OTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IHN0cnVjdCBzdGF0IHM7IHMuc3RfZG1fbW9kZTsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE3MDExOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxNzAyMTogY2hlY2tpbmcgd2hldGhlciBzdHJtb2RlIGlzIGRlY2xhcmVkCmNvbmZpZ3Vy ZToxNzAyMTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjM4OjEwOiBlcnJvcjogJ3N0cm1vZGUn IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAodm9pZCkgc3RybW9k ZTsKICAgICAgICAgIF4KY29uZnRlc3QuYzoyMzg6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBp ZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBl YXJzIGluCmNvbmZpZ3VyZToxNzAyMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBB Q0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5l IF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9V VE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFW RV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gx MVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEK fCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAx CnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNk ZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lE IDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VU REVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNk ZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAj ZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2Rl ZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVf VFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RB VCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVm aW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5l IExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmlu ZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9T TlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFW RV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZp bmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNk ZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxM X0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnBy b2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5l IERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZp bmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZp bmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJP S0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFj IDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rl di9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUs IHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVm aW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9i YXNlKQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19C SVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZp bmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19D T05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHX09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXBy ZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxv Y2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRv b2xraXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdp dGhvdXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQt dG9vbGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBB VEg+JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlv bicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9 IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVT RV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEK fCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBS RUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9M RCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVm IHN0cm1vZGUKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2b2lkKSBzdHJtb2RlOwp8ICNlbHNl CnwgICAodm9pZCkgc3RybW9kZTsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjE3MDIxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNzExMDogY2hl Y2tpbmcgd2hldGhlciB0aGUgcHJlcHJvY2Vzc29yIHN1cHBvcnRzIGluY2x1ZGVfbmV4dApjb25m aWd1cmU6MTcxNDg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8z ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgLUljb25mdGVzdGQxYiAtSWNvbmZ0 ZXN0ZDIgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE3MTQ4OiAkPyA9IDAKY29uZmlndXJlOjE3 MTY5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTcxOTA6IGNoZWNraW5nIHdoZXRoZXIgc3lzdGVt IGhlYWRlciBmaWxlcyBsaW1pdCB0aGUgbGluZSBsZW5ndGgKY29uZmlndXJlOjE3MjEzOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToxNzMxNDogY2hlY2tpbmcgZm9yIGdldG9wdC5oCmNvbmZpZ3VyZTox NzMxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTc4NDE6IGNoZWNraW5nIHdoZXRoZXIgZ2V0ZW52 IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToxNzg0MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6MTc4NDE6ICQ/ID0gMApjb25maWd1cmU6MTc4NDE6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxNzg1NzogY2hlY2tpbmcgZm9yIEMvQysrIHJlc3RyaWN0IGtleXdv cmQKY29uZmlndXJlOjE3ODgyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToxNzg4MjogJD8gPSAwCmNvbmZpZ3VyZToxNzg5MDogcmVzdWx0OiBfX3Jlc3Ry aWN0CmNvbmZpZ3VyZToxODAyMzogY2hlY2tpbmcgZm9yIHN0cnVjdCB0aW1ldmFsCmNvbmZpZ3Vy ZToxODA0NjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 MTgwNDY6ICQ/ID0gMApjb25maWd1cmU6MTgwNTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODA1 OTogY2hlY2tpbmcgZm9yIHdpZGUtZW5vdWdoIHN0cnVjdCB0aW1ldmFsLnR2X3NlYyBtZW1iZXIK Y29uZmlndXJlOjE4MDg2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1j IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToxODA4NjogJD8gPSAwCmNvbmZpZ3VyZToxODA5NDogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE4MTA3OiBjaGVja2luZyBmb3IgdW5zaWduZWQgbG9uZyBsb25nIGludApjb25maWd1cmU6 MTgxNTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODE2NTogY2hlY2tpbmcgZm9yIGxvbmcgbG9u ZyBpbnQKY29uZmlndXJlOjE4MjE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTgyMzc6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyMDU6MTA6IGVycm9y OiB1bmtub3duIHR5cGUgbmFtZSAnbm90JwogICAgICAgICAgbm90IGEgdW5pdmVyc2FsIGNhcGFi bGUgY29tcGlsZXIKICAgICAgICAgIF4KY29uZnRlc3QuYzoyMDU6MTY6IGVycm9yOiBleHBlY3Rl ZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICd1bml2ZXJz YWwnCiAgICAgICAgICBub3QgYSB1bml2ZXJzYWwgY2FwYWJsZSBjb21waWxlcgogICAgICAgICAg ICAgICAgXgpjb25mdGVzdC5jOjIwNToxNjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1bml2 ZXJzYWwnCmNvbmZpZ3VyZToxODIzNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBB Q0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5l IF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9V VE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFW RV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gx MVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEK fCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAx CnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNk ZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lE IDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VU REVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNk ZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAj ZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2Rl ZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVf VFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RB VCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVm aW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5l IExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmlu ZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9T TlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFW RV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZp bmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNk ZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxM X0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnBy b2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5l IERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZp bmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZp bmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJP S0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFj IDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rl di9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUs IHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVm aW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9i YXNlKQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19C SVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZp bmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19D T05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHX09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXBy ZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxv Y2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRv b2xraXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdp dGhvdXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQt dG9vbGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBB VEg+JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlv bicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9 IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVT RV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEK fCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBS RUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9M RCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VO U0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lmbmRlZiBfX0FQUExFX0NDX18KfCAgICAgICAgICBu b3QgYSB1bml2ZXJzYWwgY2FwYWJsZSBjb21waWxlcgp8ICAgICAgICAgI2VuZGlmCnwgICAgICAg ICB0eXBlZGVmIGludCBkdW1teTsKfCAKY29uZmlndXJlOjE4MzkwOiBjaGVja2luZyB3aGV0aGVy IHN0ZGludC5oIGNvbmZvcm1zIHRvIEM5OQpjb25maWd1cmU6MTg1NTk6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE4NTU5OiAkPyA9IDAKY29uZmlndXJl OjE4NjM5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25m aWd1cmU6MTg2Mzk6ICQ/ID0gMApjb25maWd1cmU6MTg2Mzk6IC4vY29uZnRlc3QKY29uZmlndXJl OjE4NjM5OiAkPyA9IDAKY29uZmlndXJlOjE4NjUxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTkx ODA6IGNoZWNraW5nIHdoZXRoZXIgbHN0YXQgY29ycmVjdGx5IGhhbmRsZXMgdHJhaWxpbmcgc2xh c2gKY29uZmlndXJlOjE5MjEzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVh ZCAgPiY1IApjb25maWd1cmU6MTkyMTM6ICQ/ID0gMApjb25maWd1cmU6MTkyMTM6IC4vY29uZnRl c3QKY29uZmlndXJlOjE5MjEzOiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRo IHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZp bmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JF RU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVf WF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRS NiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNk ZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJ TUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZF X1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2Rl ZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf SF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0Yg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEK fCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElS X05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEK fCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VU Q1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZp bmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFW RV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAx CnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZp bmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUg SEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9G U0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAx CnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FM QVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwg I2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZp bmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFN RSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAj ZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8 ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChf Y18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJ U19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9O QU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5l IFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZ X05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBU WV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2Rl ZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NP VU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUgREFUQV9T VEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVm aW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUg VVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmln aHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVS TV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBj LWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS1wcmVm aXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNz LTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RB VEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICctLXdpdGhv dXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1JyAnLS13 aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycycg Jy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0LW1ha2Vp bmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0y NC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIKfCAj ZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZp bmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVfTUVOVVMg MQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBXT1JEU19C SUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VO VklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dF VE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1 ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGlu Y2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYg SEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRl ZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAj IGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMg aW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAj IGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAj IGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBp bmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0cnVjdCBz dGF0IHNidWY7CnwgICAgICAgICAgICAgICAvKiBMaW51eCB3aWxsIGRlcmVmZXJlbmNlIHRoZSBz eW1saW5rIGFuZCBmYWlsLCBhcyByZXF1aXJlZCBieQp8ICAgICAgICAgICAgICAgICAgUE9TSVgu ICBUaGF0IGlzIGJldHRlciBpbiB0aGUgc2Vuc2UgdGhhdCBpdCBtZWFucyB3ZSB3aWxsIG5vdAp8 ICAgICAgICAgICAgICAgICAgaGF2ZSB0byBjb21waWxlIGFuZCB1c2UgdGhlIGxzdGF0IHdyYXBw ZXIuICAqLwp8ICAgICAgICAgICAgICAgcmV0dXJuIGxzdGF0ICgiY29uZnRlc3Quc3ltLyIsICZz YnVmKSA9PSAwOwp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTkyMzA6IHJl c3VsdDogbm8KY29uZmlndXJlOjE5MjcxOiBjaGVja2luZyB3aGV0aGVyIDxzeXMvc2VsZWN0Lmg+ IGlzIHNlbGYtY29udGFpbmVkCmNvbmZpZ3VyZToxOTI4ODogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTkyODg6ICQ/ID0gMApjb25maWd1cmU6MTkzMDc6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE5MzA3OiAk PyA9IDAKY29uZmlndXJlOjE5MzM3OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAt TDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRo cmVhZCAgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5ub25leGlz dGVudF9tZW1zZXQKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBv cHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0 dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTkzMzc6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4z Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8 ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9T UEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZf RExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9M RU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVT T1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2Fy ZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZF X1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9T VE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FH RSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVf TFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09O RiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NI VVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJT SUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8g MQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig MQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9N RU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwg I2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlM VElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBH UlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwg I2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVm aW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRP VU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVf UiAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tF VFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEK fCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVz dHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVU RUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwg I2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dl Y29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChf Y18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZ X1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkK fCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBm b3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChw dHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJj cHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFD VEVSUyAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcHRy IC0gKEZJTEUpLT5fYmFzZSkKfCAjZGVmaW5lIERBVEFfU1RBUlQgMHgyMDAwMDAwMAp8ICNkZWZp bmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8 ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBVU0c1 IC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNk ZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVm aW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQu MycgJy0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1zeXNjb25mZGlyPTxF VENESVI+JyAnLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPicgJy0td2l0aG91dC1wb3An ICctLXdpdGgteC10b29sa2l0PWx1Y2lkJyAnLS13aXRob3V0LXNvdW5kJyAnLS13aXRob3V0LWtl cmJlcm9zJyAnLS13aXRob3V0LWtlcmJlcm9zNScgJy0td2l0aC1naWY9bm8nICctLXdpdGgteHBt JyAnLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMnICctLWVuYWJsZS1sb2NhbGxpc3BwYXRo PTxMT0NBTExJU1BQQVRIPicgJy0td2l0aG91dC1tYWtlaW5mbycgJy0tZW5hYmxlLWxpbmstdGlt ZS1vcHRpbWl6YXRpb24nICdDQz08VE9PTFNESVI+L2djYy00LjgvYmluL2djYycgJ0NGTEFHUz0t TzMnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWInICdDUFBGTEFHUz0gLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAx CnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmlu ZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0Mg MQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhB VkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVm aW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNk ZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0lOVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvc2VsZWN0 Lmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgICAgICAgICAgICAgICAgICAjdW5kZWYgbWVt c2V0CnwgICAgICAgICAgICAgICAgICAgI2RlZmluZSBtZW1zZXQgbm9uZXhpc3RlbnRfbWVtc2V0 CnwgICAgICAgICAgICAgICAgICAgZXh0ZXJuCnwgICAgICAgICAgICAgICAgICAgI2lmZGVmIF9f Y3BsdXNwbHVzCnwgICAgICAgICAgICAgICAgICAgIkMiCnwgICAgICAgICAgICAgICAgICAgI2Vu ZGlmCnwgICAgICAgICAgICAgICAgICAgdm9pZCAqbWVtc2V0ICh2b2lkICosIGludCwgdW5zaWdu ZWQgbG9uZyk7CnwgICAgICAgICAgICAgICAgICAgI3VuZGVmIGJ6ZXJvCnwgICAgICAgICAgICAg ICAgICAgI2RlZmluZSBiemVybyBub25leGlzdGVudF9iemVybwp8ICAgICAgICAgICAgICAgICAg IGV4dGVybgp8ICAgICAgICAgICAgICAgICAgICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgICAgICAg ICAgICAgICAgICJDIgp8ICAgICAgICAgICAgICAgICAgICNlbmRpZgp8ICAgICAgICAgICAgICAg ICAgIHZvaWQgYnplcm8gKHZvaWQgKiwgdW5zaWduZWQgbG9uZyk7CnwgICAgICAgICAgICAgICAg ICAgZmRfc2V0IGZkczsKfCAgICAgICAgICAgICAgICAgICBGRF9aRVJPICgmZmRzKTsKfCAKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KfCAKY29uZmlndXJlOjE5MzUwOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxOTQ5MDogY2hlY2tpbmcgZm9yIHNpZ3NldF90CmNvbmZpZ3VyZToxOTQ5MDogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTk0OTA6ICQ/ID0gMApj b25maWd1cmU6MTk0OTA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMg LU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIxMzoyMzogZXJyb3I6IGV4 cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNpemVvZiAoKHNpZ3NldF90 KSkpCiAgICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MTk0OTA6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJl bWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0Vf RklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JF RU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUg SEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElN IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNh bGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NN IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZF X0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZF X0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmlu ZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElO RSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VO REdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRT UEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNf SU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZ IDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmlu ZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBI QVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9M T0NBTFRJTUVfUiAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9J TkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19G T1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3Rf YXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUg Q0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NP Q0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENI QVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUg cHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVW SUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0g RElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NF UCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmlu ZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9O IGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYg c3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BS SU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19W SUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJ TEUpLT5fcHRyIC0gKEZJTEUpLT5fYmFzZSkKfCAjZGVmaW5lIERBVEFfU1RBUlQgMHgyMDAwMDAw MAp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBf V09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2Rl ZmluZSBVU0c1IC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEzIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVy bS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAu MCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0tcHJlZml4PTxUT09MU0RJUj4v ZW1hY3MtMjQuMycgJy0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1zeXNj b25mZGlyPTxFVENESVI+JyAnLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPicgJy0td2l0 aG91dC1wb3AnICctLXdpdGgteC10b29sa2l0PWx1Y2lkJyAnLS13aXRob3V0LXNvdW5kJyAnLS13 aXRob3V0LWtlcmJlcm9zJyAnLS13aXRob3V0LWtlcmJlcm9zNScgJy0td2l0aC1naWY9bm8nICct LXdpdGgteHBtJyAnLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMnICctLWVuYWJsZS1sb2Nh bGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPicgJy0td2l0aG91dC1tYWtlaW5mbycgJy0tZW5hYmxl LWxpbmstdGltZS1vcHRpbWl6YXRpb24nICdDQz08VE9PTFNESVI+L2djYy00LjgvYmluL2djYycg J0NGTEFHUz0tTzMnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWInICdDUFBG TEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSciCnwgI2RlZmluZSBIQVZFX1hf V0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAx CnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEdO VV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0gg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAj ZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICAgICAgICNp bmNsdWRlIDxzaWduYWwuaD4KfCAgICAgICAvKiBNaW5ndyBkZWZpbmVzIHNpZ3NldF90IG5vdCBp biA8c2lnbmFsLmg+LCBidXQgaW4gPHN5cy90eXBlcy5oPi4gICovCnwgICAgICAgI2luY2x1ZGUg PHN5cy90eXBlcy5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKHNp Z3NldF90KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjE5NDkwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk1Mjg6IGNoZWNraW5nIGZvciBzdGRi b29sLmggdGhhdCBjb25mb3JtcyB0byBDOTkKY29uZmlndXJlOjE5NTk1OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTU5NTogJD8gPSAwCmNvbmZpZ3Vy ZToxOTYwMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5NjA0OiBjaGVja2luZyBmb3IgX0Jvb2wK Y29uZmlndXJlOjE5NjA0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1j IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToxOTYwNDogJD8gPSAwCmNvbmZpZ3VyZToxOTYwNDogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0 ZXN0LmM6MjQxOjIwOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2Vu CiBpZiAoc2l6ZW9mICgoX0Jvb2wpKSkKICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTox OTYwNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAj ZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZp bmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEK fCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNk ZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUg SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2Rl ZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNU IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZf SCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9O QU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhB VkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDEx WFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8 ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0 ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0g MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBI QVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwg I2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhB VkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9D S0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElS IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lE IDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk ZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVf R0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERS SU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1F UiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAj ZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNk ZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUg SEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElN RSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNk ZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZp bmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQ VCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwg I2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUg SEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZF X0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf U0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAx CnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNk ZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExf TkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEK fCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxs Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmlu ZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8n CnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NF UChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18p IChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVm aW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUg UFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5l IFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7Cnwg I2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVU X0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUgREFU QV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAj ZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZp bmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5 cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUg VEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dl cnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS1w cmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2Vt YWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FM U1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICctLXdp dGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1JyAn LS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFy cycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0LW1h a2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFj cy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIK fCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNk ZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVfTUVO VVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBXT1JE U19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZF X0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBf X0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmlu ZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VU X1QgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZk ZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUg PHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBp ZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5j bHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8 IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKF9Cb29sKSkpCnwgCSAgICByZXR1cm4g MDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5NjA0OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTk2MjA6IGNoZWNraW5nIGZvciB3Y2hhcl90CmNvbmZpZ3VyZToxOTYzNzogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTk2Mzc6ICQ/ID0g MApjb25maWd1cmU6MTk2NDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTc1NTogY2hlY2tpbmcg d2hldGhlciBzdHJ1Y3QgdG0gaXMgaW4gc3lzL3RpbWUuaCBvciB0aW1lLmgKY29uZmlndXJlOjE5 Nzc1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTc3 NTogJD8gPSAwCmNvbmZpZ3VyZToxOTc4MjogcmVzdWx0OiB0aW1lLmgKY29uZmlndXJlOjE5Nzkw OiBjaGVja2luZyBmb3Igc3RydWN0IHRtLnRtX3pvbmUKY29uZmlndXJlOjE5NzkwOiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoyMTU6MTI6IGVycm9yOiAnc3RydWN0IHRtJyBoYXMgbm8gbWVtYmVy IG5hbWVkICd0bV96b25lJwogaWYgKGFjX2FnZ3IudG1fem9uZSkKICAgICAgICAgICAgXgpjb25m aWd1cmU6MTk3OTA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NP VVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFp eCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05B TUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0gg MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNf U0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05H X0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFU QUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUg SEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2Rl ZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBI QVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJY RVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUg WFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhB VkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNk ZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJ RkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2Rl ZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxf VVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9D TE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9D VVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZF X1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmlu ZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVf R0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9T RVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJP TSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1Q IDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVf RElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZF X0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFX IDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEK fCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUg SEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZF X0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlO Rk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZp bmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZF X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBMT0NBTFRJTUVf Q0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JL IDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9U IDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FO RF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVf UFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9k ZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8 ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllf U0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVD VE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9T RVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAj ZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7Cnwg I2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChm ZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBQRU5ESU5H X09VVFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcHRyIC0gKEZJTEUpLT5fYmFzZSkKfCAjZGVm aW5lIERBVEFfU1RBUlQgMHgyMDAwMDAwMAp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAw MDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEK fCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBVU0c1IC8qKi8KfCAjZGVmaW5lIENPUFlSSUdI VCAiQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAj ZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElP TiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05T ICIgJy0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0tZXhlYy1wcmVmaXg9PFRPT0xT RElSPi9lbWFjcy0yNC4zJyAnLS1zeXNjb25mZGlyPTxFVENESVI+JyAnLS1sb2NhbHN0YXRlZGly PTxMT0NBTFNUQVRFRElSPicgJy0td2l0aG91dC1wb3AnICctLXdpdGgteC10b29sa2l0PWx1Y2lk JyAnLS13aXRob3V0LXNvdW5kJyAnLS13aXRob3V0LWtlcmJlcm9zJyAnLS13aXRob3V0LWtlcmJl cm9zNScgJy0td2l0aC1naWY9bm8nICctLXdpdGgteHBtJyAnLS13aXRob3V0LXRvb2xraXQtc2Ny b2xsLWJhcnMnICctLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPicgJy0td2l0 aG91dC1tYWtlaW5mbycgJy0tZW5hYmxlLWxpbmstdGltZS1vcHRpbWl6YXRpb24nICdDQz08VE9P TFNESVI+L2djYy00LjgvYmluL2djYycgJ0NGTEFHUz0tTzMnICdMREZMQUdTPSAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy9saWInICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5j bHVkZSciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lU IDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBI QVZFX01FTlVTIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZp bmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNk ZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8 ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZF X1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9U IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNp bmNsdWRlIDx0aW1lLmg+CnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0 IHRtIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IudG1fem9uZSkKfCByZXR1cm4gMDsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5NzkwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoy MTU6MTk6IGVycm9yOiAnc3RydWN0IHRtJyBoYXMgbm8gbWVtYmVyIG5hbWVkICd0bV96b25lJwog aWYgKHNpemVvZiBhY19hZ2dyLnRtX3pvbmUpCiAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3Vy ZToxOTc5MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEK fCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8 ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1B UCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFT RSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZF X1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5l IEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVf WDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQg MQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVn aXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9Y UE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmlu ZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAx CnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf TE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NF RElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VU U0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8 ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhB VkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRB RERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElU SU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEK fCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8 ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZG VElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VU UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8 ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZF X1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JB TlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAx CnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNI RSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8 ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNk ZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8 ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZV TExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlT IDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9u dWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2Rl ZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAg Jy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZ X1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChf Y18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5U X0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAj ZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZp bmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVm aW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7 CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VU UFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUg REFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNk ZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJD b3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZp bmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJw b3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAn LS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+ L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExP Q0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICct LXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1 JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwt YmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0 LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9l bWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRl JyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8 ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVf TUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBX T1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBI QVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmlu ZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2Rl ZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lH U0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1 ZGUgPHRpbWUuaD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgdG0g YWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3IudG1fem9uZSkKfCByZXR1cm4gMDsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5NzkwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox OTgwODogY2hlY2tpbmcgd2hldGhlciB0em5hbWUgaXMgZGVjbGFyZWQKY29uZmlndXJlOjE5ODA4 OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTgwODog JD8gPSAwCmNvbmZpZ3VyZToxOTgwODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5ODIwOiBjaGVj a2luZyBmb3IgdHpuYW1lCmNvbmZpZ3VyZToxOTg0MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMv aW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRl c3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjE5ODQwOiAkPyA9IDAKY29uZmlndXJlOjE5 ODQ4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk4NTg6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdG0u dG1fZ210b2ZmCmNvbmZpZ3VyZToxOTg1ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjE1OjEy OiBlcnJvcjogJ3N0cnVjdCB0bScgaGFzIG5vIG1lbWJlciBuYW1lZCAndG1fZ210b2ZmJwogaWYg KGFjX2FnZ3IudG1fZ210b2ZmKQogICAgICAgICAgICBeCmNvbmZpZ3VyZToxOTg1ODogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9M QVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9G Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFH UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJP RlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEK fCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFW RV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRp YXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUg SEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEK fCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZF X1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5l IEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5l IEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9V VElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAj ZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVf R0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9H RVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9D RlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRX RCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1F T0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAj ZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwg I2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBI QVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBI QVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9W Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJ TkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0 cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2Rl ZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhB VkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUg U0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExf TkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJ U19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2Nf KSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RP UllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVS QVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BS SU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFN RV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdO QUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUp ICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIw MDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NF VEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8K fCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIw MTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIg Inh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2 LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xT RElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICct LXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAn LS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQn ICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1u bycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxl LWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1l bmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicg J0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhB VkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xV Q0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZp bmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4g MQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVD TCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVG SVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBf X3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZp bmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDx0aW1lLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMg c3RydWN0IHRtIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IudG1fZ210b2ZmKQp8IHJldHVybiAwOwp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTk4NTg6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2lu Y2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25m dGVzdC5jOjIxNToxOTogZXJyb3I6ICdzdHJ1Y3QgdG0nIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3Rt X2dtdG9mZicKIGlmIChzaXplb2YgYWNfYWdnci50bV9nbXRvZmYpCiAgICAgICAgICAgICAgICAg ICBeCmNvbmZpZ3VyZToxOTg1ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZM SU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9Y Uk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAj ZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBI QVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5l IEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhB VkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVm aW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEK fCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZp bmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVM SU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZp bmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9D Rk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09Q WVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwg I2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExP Q0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBI QVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUg QU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VO X0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIv ZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsg YysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9w dGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0 eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5l IFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNl KQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRT IDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19T RVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUg Q09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklH X09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fs c3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xr aXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhv dXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9v bGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+ JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicg J0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9Y X1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAj ZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxf QUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAx CnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAx CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9E RSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dF VEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lH TkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx0aW1lLmg+CnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHRtIGFjX2FnZ3I7CnwgaWYgKHNpemVv ZiBhY19hZ2dyLnRtX2dtdG9mZikKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjE5ODU4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTg2OTogY2hlY2tpbmcgd2hl dGhlciBzdHJ0b2ltYXggaXMgZGVjbGFyZWQKY29uZmlndXJlOjE5ODY5OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTg2OTogJD8gPSAwCmNvbmZpZ3Vy ZToxOTg2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5ODgyOiBjaGVja2luZyB3aGV0aGVyIHN0 cnRvdW1heCBpcyBkZWNsYXJlZApjb25maWd1cmU6MTk4ODI6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE5ODgyOiAkPyA9IDAKY29uZmlndXJlOjE5ODgy OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk4OTU6IGNoZWNraW5nIHdoZXRoZXIgc3RhdCBmaWxl LW1vZGUgbWFjcm9zIGFyZSBicm9rZW4KY29uZmlndXJlOjE5OTIyOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTkyMjogJD8gPSAwCmNvbmZpZ3VyZTox OTkyOTogcmVzdWx0OiBubwpjb25maWd1cmU6MTk5Mzk6IGNoZWNraW5nIGZvciBtb2RlX3QKY29u ZmlndXJlOjE5OTM5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1P MyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZToxOTkzOTogJD8gPSAwCmNvbmZpZ3VyZToxOTkzOTogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0 LmM6MjQ3OjIxOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCiBp ZiAoc2l6ZW9mICgobW9kZV90KSkpCiAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjE5 OTM5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2Rl ZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1Qg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNf V0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05B TUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEK fCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFND UkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFW RV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFY VFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwg I2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3Rl cklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAx CnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAj ZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFW RV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NL RiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIg MQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9E SVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQg MQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9H RVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVS IDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNk ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2Rl ZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1F IDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2Rl ZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBU IDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAj ZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBI QVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVf QUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lN QVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEK fCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEK fCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5l IEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2Rl ZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9O QU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8 ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwi CnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5l IFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycK fCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQ KF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykg KElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElS X05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQ VFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUg UFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAj ZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRf Q09VTlQoRklMRSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2UpCnwgI2RlZmluZSBEQVRB X1NUQVJUIDB4MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNk ZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmlu ZSBVU0cgLyoqLwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHly aWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBU RVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2Vy cGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXBy ZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1h Y3MtMjQuMycgJy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxzdGF0ZWRpcj08TE9DQUxT VEFURURJUj4nICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtpdD1sdWNpZCcgJy0td2l0 aG91dC1zb3VuZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91dC1rZXJiZXJvczUnICct LXdpdGgtZ2lmPW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJz JyAnLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4nICctLXdpdGhvdXQtbWFr ZWluZm8nICctLWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAnQ0M9PFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNz LTI0LjMvbGliJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUnIgp8 ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2Rl ZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgSEFWRV9NRU5V UyAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIFdPUkRT X0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVf RU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9f R0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRf VCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZF X1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVm Lmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZp bmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxt ZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgobW9kZV90KSkpCnwgCSAgICByZXR1cm4gMDsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5OTM5OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTk5NTI6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdGltZXNwZWMgaW4gPHRpbWUuaD4KY29uZmln dXJlOjE5OTY5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZToxOTk2OTogJD8gPSAwCmNvbmZpZ3VyZToxOTk3NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIw MTMwOiBjaGVja2luZyB3aGV0aGVyIHRoZSB1dGltZXMgZnVuY3Rpb24gd29ya3MKY29uZmlndXJl OjIwMjQ1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25m aWd1cmU6MjAyNDU6ICQ/ID0gMApjb25maWd1cmU6MjAyNDU6IC4vY29uZnRlc3QKY29uZmlndXJl OjIwMjQ1OiAkPyA9IDAKY29uZmlndXJlOjIwMjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAy Njg6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdXRpbWJ1Zgpjb25maWd1cmU6MjAyOTE6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIwMjkxOiAkPyA9IDAKY29u ZmlndXJlOjIwMjk4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAzNDg6IGNoZWNraW5nIGZvciBh bGxvY2EgYXMgYSBjb21waWxlciBidWlsdC1pbgpjb25maWd1cmU6MjAzNzI6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyMDQwODogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBjbG9ja19n ZXR0aW1lCmNvbmZpZ3VyZToyMDQzOTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0 aHJlYWQgID4mNSAKY29uZmlndXJlOjIwNDM5OiAkPyA9IDAKY29uZmlndXJlOjIwNDU2OiByZXN1 bHQ6IG5vbmUgcmVxdWlyZWQKY29uZmlndXJlOjIwNDY4OiBjaGVja2luZyBmb3IgY2xvY2tfZ2V0 dGltZQpjb25maWd1cmU6MjA0Njg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhy ZWFkICA+JjUgCmNvbmZpZ3VyZToyMDQ2ODogJD8gPSAwCmNvbmZpZ3VyZToyMDQ2ODogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjIwNDY4OiBjaGVja2luZyBmb3IgY2xvY2tfc2V0dGltZQpjb25maWd1 cmU6MjA0Njg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9l bWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNv bmZpZ3VyZToyMDQ2ODogJD8gPSAwCmNvbmZpZ3VyZToyMDQ2ODogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjIwNTA3OiBjaGVja2luZyB3aGV0aGVyIGR1cDIgd29ya3MKY29uZmlndXJlOjIwNTYxOiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9s aWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjA1 NjE6ICQ/ID0gMApjb25maWd1cmU6MjA1NjE6IC4vY29uZnRlc3QKY29uZmlndXJlOjIwNTYxOiAk PyA9IDAKY29uZmlndXJlOjIwNTcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjA3Mjc6IGNoZWNr aW5nIGZvciBnZXRsb2FkYXZnCmNvbmZpZ3VyZToyMDcyNzogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29u ZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3lt Ym9sOiAuZ2V0bG9hZGF2ZwpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1 aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBs ZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToyMDcyNzogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNz IDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxF UyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ TUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBI QVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05F VF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS X1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JF RU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAx CnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5l IEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZF X0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8 ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJh Y2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVH IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5l IEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VU UlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUg SEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBB VEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NF TkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF UlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEK fCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVE IDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2Rl ZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg R0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklU IDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8 ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhB VkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM VElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRf U09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg MQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVT RVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIg X19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFT SF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VU UyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAn OicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+ cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0Vf U0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJF Q1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChf Y18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERF RkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50 IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJj cHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRG IHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9D SEFSQUNURVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSkt Pl9wdHIgLSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwg I2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5l IFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgi CnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFj cy0yNC4zJyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZk aXI9PEVUQ0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0 LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQnICctLXdpdGhv dXQta2VyYmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0 aC14cG0nICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlz cHBhdGg9PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGlu ay10aW1lLW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZM QUdTPS1PMycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdT PSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5E T1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAj ZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01B TExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZp bmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8 ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9f Qk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NM T0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgLyogRGVmaW5lIGdldGxvYWRhdmcgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNh c2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRsb2FkYXZnLgp8ICAgIEZvciBleGFtcGxlLCBIUC1V WCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZ2V0 bG9hZGF2ZyBpbm5vY3VvdXNfZ2V0bG9hZGF2Zwp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hp Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRsb2FkYXZnICgpOyBiZWxvdy4KfCAgICAgUHJl ZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5j ZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UK fCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBnZXRsb2FkYXZnCnwg CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg I2VuZGlmCnwgY2hhciBnZXRsb2FkYXZnICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmlu ZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlz IGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAg ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBh bGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2dldGxvYWRhdmcgfHwgZGVmaW5lZCBfX3N0 dWJfX19nZXRsb2FkYXZnCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwg ewp8IHJldHVybiBnZXRsb2FkYXZnICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MjA3Mjc6IHJlc3VsdDogbm8KY29uZmlndXJlOjIwNzM5OiBjaGVja2luZyBmb3IgZWxmX2Jl Z2luIGluIC1sZWxmCmNvbmZpZ3VyZToyMDc2NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5j bHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3Qu YyAtbGVsZiAgLWxwdGhyZWFkICA+JjUgCmNvbGxlY3QyOiBmYXRhbCBlcnJvcjogbGlicmFyeSBs aWJlbGYgbm90IGZvdW5kCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToyMDc2NDog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUg VkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUg SEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2Rl ZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5O VU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9J MThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAx CnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZp bmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUlu c3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BO R19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmlu ZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9F UlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8 ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05B TUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAj ZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUg SEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dE IDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwg I2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUg SEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9G U1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwg I2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUg SEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFW RV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8 ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VF S08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwg I2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmlu ZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2Rl ZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUg SEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUg X19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAx CnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVm aW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNk ZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VS X0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2Rl ZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18p ICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19E SVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBU WV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05B TUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9U VFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmlu ZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5U KEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUgREFUQV9TVEFS VCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5l IEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNH IC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQg KEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9I RUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWli bS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS1wcmVmaXg9 PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0 LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVE SVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICctLXdpdGhvdXQt c291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1JyAnLS13aXRo LWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycycgJy0t ZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0LW1ha2VpbmZv JyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z L2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVm aW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUg VVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8 ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBXT1JEU19CSUdF TkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklS T05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9Q VF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0 cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8 ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwg I2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBlbGZfYmVnaW4gKCk7CnwgaW50Cnwg bWFpbiAoKQp8IHsKfCByZXR1cm4gZWxmX2JlZ2luICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MjA3NzM6IHJlc3VsdDogbm8KY29uZmlndXJlOjIwNzc5OiBjaGVja2luZyBm b3Iga3ZtX29wZW4gaW4gLWxrdm0KY29uZmlndXJlOjIwODA0OiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1sa3ZtICAtbHB0aHJlYWQgID4mNSAKY29sbGVjdDI6IGZhdGFsIGVycm9yOiBs aWJyYXJ5IGxpYmt2bSBub3QgZm91bmQKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJl OjIwODA0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJ U1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQ IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNF IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVf WFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUg SEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9Y MTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAx CnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdp c3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQ TSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEK fCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUg SEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9M T0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VE SVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRT SUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFW RV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFE RFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwg I2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZU SU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwg I2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2Rl ZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBI QVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFO VFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEK fCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhB VkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hF IDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwg I2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVM TF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMg MQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251 bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVm aW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAn LycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllf U0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9j XykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNk ZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmlu ZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZp bmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsK fCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQ VVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2UpCnwgI2RlZmluZSBE QVRBX1NUQVJUIDB4MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8 ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2Rl ZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNv cHlyaWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmlu ZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBv d2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICct LXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4v ZW1hY3MtMjQuMycgJy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxzdGF0ZWRpcj08TE9D QUxTVEFURURJUj4nICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtpdD1sdWNpZCcgJy0t d2l0aG91dC1zb3VuZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91dC1rZXJiZXJvczUn ICctLXdpdGgtZ2lmPW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29sa2l0LXNjcm9sbC1i YXJzJyAnLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4nICctLXdpdGhvdXQt bWFrZWluZm8nICctLWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAnQ0M9PFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMvbGliJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUn Igp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwg I2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgSEFWRV9N RU5VUyAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIFdP UkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhB VkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9TSUdT RVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VU SU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRU SU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVy bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGlu dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRl ZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGt2bV9vcGVuICgpOwp8 IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGt2bV9vcGVuICgpOwp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6MjA4MTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjIwODIwOiBjaGVj a2luZyBmb3IgZ2V0bG9hZGF2ZyBpbiAtbHV0aWwKY29uZmlndXJlOjIwODQ1OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1i YmlndG9jICBjb25mdGVzdC5jIC1sdXRpbCAgLWxwdGhyZWFkICA+JjUgCmNvbGxlY3QyOiBmYXRh bCBlcnJvcjogbGlicmFyeSBsaWJ1dGlsIG5vdCBmb3VuZApjb21waWxhdGlvbiB0ZXJtaW5hdGVk Lgpjb25maWd1cmU6MjA4NDU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQu MyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdF ICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElN SVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9U RVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJN U0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAx CnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2Rl ZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFW RV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNk ZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVm aW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBI QVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAx CnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5l IE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUg SEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZF X0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZF X1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VU TE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwg I2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9S RUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9N S1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElN IDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5l IEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFW RV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZN QUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlT SUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNk ZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmlu ZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUg VEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VU IDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8 ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBI QVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBMT0NB TFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFW RV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZG T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklO VEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJT VEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFN UEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5l IEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJ Q0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNz ZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJF Q1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElT X0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElT X0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9H RVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rl di9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMr KykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRj Iik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHlu YW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBQ RU5ESU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcHRyIC0gKEZJTEUpLT5fYmFzZSkK fCAjZGVmaW5lIERBVEFfU1RBUlQgMHgyMDAwMDAwMAp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAw eDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VU Sk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBVU0c1IC8qKi8KfCAjZGVmaW5lIENP UFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklH VVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19P UFRJT05TICIgJy0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0tZXhlYy1wcmVmaXg9 PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1zeXNjb25mZGlyPTxFVENESVI+JyAnLS1sb2NhbHN0 YXRlZGlyPTxMT0NBTFNUQVRFRElSPicgJy0td2l0aG91dC1wb3AnICctLXdpdGgteC10b29sa2l0 PWx1Y2lkJyAnLS13aXRob3V0LXNvdW5kJyAnLS13aXRob3V0LWtlcmJlcm9zJyAnLS13aXRob3V0 LWtlcmJlcm9zNScgJy0td2l0aC1naWY9bm8nICctLXdpdGgteHBtJyAnLS13aXRob3V0LXRvb2xr aXQtc2Nyb2xsLWJhcnMnICctLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPicg Jy0td2l0aG91dC1tYWtlaW5mbycgJy0tZW5hYmxlLWxpbmstdGltZS1vcHRpbWl6YXRpb24nICdD Qz08VE9PTFNESVI+L2djYy00LjgvYmluL2djYycgJ0NGTEFHUz0tTzMnICdMREZMQUdTPSAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy9saWInICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMvaW5jbHVkZSciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9U T09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2Rl ZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FM TE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8 ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05F RF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5l IEhBVkVfRFVQMiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFu eSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFy IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1 aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g ICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ2V0 bG9hZGF2ZyAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBnZXRsb2FkYXZnICgpOwp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjA4NTQ6IHJlc3VsdDogbm8KY29uZmln dXJlOjIwODY3OiBjaGVja2luZyBmb3IgZ2V0bG9hZGF2ZyBpbiAtbGdldGxvYWRhdmcKY29uZmln dXJlOjIwODkyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sZ2V0bG9hZGF2ZyAgLUwv dXNyL2xvY2FsL2xpYiAtbHB0aHJlYWQgID4mNSAKY29sbGVjdDI6IGZhdGFsIGVycm9yOiBsaWJy YXJ5IGxpYmdldGxvYWRhdmcgbm90IGZvdW5kCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZp Z3VyZToyMDg5MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNz Igp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4 Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFN RV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNk ZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAx CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJP QURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdf RklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf TU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRB QkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVm aW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhB VkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhF WFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBY UmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFW RV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2Rl ZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElG RiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9V U0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NM T1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NV UlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVf U0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUg MQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5l IEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9H RVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NF VElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9N IDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAg MQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNk ZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9E SUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVf R0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdS RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcg MQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZp bmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVf R1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5G TyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lN TElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9D QUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksg MQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8 ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwg I2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1Qg MQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5E X0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9Q VFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rl di9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwg I2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9T RVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNU T1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NF UChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJS RU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIK fCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNk ZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAj ZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZk KSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdf T1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNlKQp8ICNkZWZp bmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAw MDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8 ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hU ICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNk ZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9O ICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMg IiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZpeD08VE9PTFNE SVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9 PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9bHVjaWQn ICctLXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhvdXQta2VyYmVy b3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9vbGtpdC1zY3Jv bGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+JyAnLS13aXRo b3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicgJ0NDPTxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNs dWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQg MQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEhB VkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8 ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmlu ZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2Rl ZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf U0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1Qg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9VVElNQlVGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tf R0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9E VVAyIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBh bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAj aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBnZXRsb2FkYXZn ICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGdldGxvYWRhdmcgKCk7CnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMDkwMTogcmVzdWx0OiBubwpjb25maWd1cmU6MjA5 MTY6IGNoZWNraW5nIGZvciBrc3RhdF9vcGVuIGluIC1sa3N0YXQKY29uZmlndXJlOjIwOTQxOiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9s aWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sa3N0YXQgIC1scHRocmVhZCAgPiY1IApjb2xs ZWN0MjogZmF0YWwgZXJyb3I6IGxpYnJhcnkgbGlia3N0YXQgbm90IGZvdW5kCmNvbXBpbGF0aW9u IHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToyMDk0MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVm aW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAj ZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAj ZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1Qg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwg I2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZp bmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNU UklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBI QVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZf WElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwg I2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNF X1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9p bnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEK fCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFW RV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0g MQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAj ZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4 IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMg MQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdO IDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5l IEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JB TkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5X SU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lE IDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAx CnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5l IEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFW RV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5L IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAj ZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwg I2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUg SEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZp bmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8 ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04g MQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmlu ZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5l IHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAj ZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8 ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8 ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZp bmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRf REVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9 IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1l LCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5 X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEK fCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklM RSktPl9iYXNlKQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRB X1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmlu ZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8 ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBF TUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHX09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1l eGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4n ICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0 aC14LXRvb2xraXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3Mn ICctLXdpdGhvdXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdp dGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FM TElTUFBBVEg+JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGlt aXphdGlvbicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xE RkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVm aW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVf WDExIDEKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2Rl ZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFW RV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUg MQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyog T3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwg ICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg R0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0 aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlm CnwgY2hhciBrc3RhdF9vcGVuICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGtzdGF0 X29wZW4gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMDk1MDogcmVzdWx0 OiBubwpjb25maWd1cmU6MjA5NjU6IGNoZWNraW5nIGZvciBwZXJmc3RhdF9jcHVfdG90YWwgaW4g LWxwZXJmc3RhdApjb25maWd1cmU6MjA5OTA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1 ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMg LWxwZXJmc3RhdCAgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMDk5MDogJD8gPSAwCmNvbmZp Z3VyZToyMDk5OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMDg1OiBjaGVja2luZyBzeXMvbG9h ZGF2Zy5oIHVzYWJpbGl0eQpjb25maWd1cmU6MjEwODU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyNTE6MjU6IGZhdGFsIGVycm9yOiBzeXMvbG9hZGF2 Zy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8c3lzL2xvYWRhdmcuaD4K ICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmln dXJlOjIxMDg1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3Mi CnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgi CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05F VF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9B REFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19G SUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFC QVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZp bmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFW RV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVY VCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhS ZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZF X1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZG IDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZp bmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VT RV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xP U0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9T RVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUg SEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAx CnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJ RkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9H RVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAx CnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwg I2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9H UkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZP IDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1M SU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NB Q0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAx CnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRf RlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BU WVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2 L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAj ZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NF UCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RP UllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQ KF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8 ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2Rl ZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNk ZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQp KTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgUEVORElOR19P VVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2UpCnwgI2RlZmlu ZSBEQVRBX1NUQVJUIDB4MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAw MAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwg I2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQg IkNvcHlyaWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2Rl ZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04g InBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAi ICctLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4PTxUT09MU0RJ Uj4vZW1hY3MtMjQuMycgJy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxzdGF0ZWRpcj08 TE9DQUxTVEFURURJUj4nICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtpdD1sdWNpZCcg Jy0td2l0aG91dC1zb3VuZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91dC1rZXJiZXJv czUnICctLXdpdGgtZ2lmPW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29sa2l0LXNjcm9s bC1iYXJzJyAnLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4nICctLXdpdGhv dXQtbWFrZWluZm8nICctLWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAnQ0M9PFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMvbGliJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1 ZGUnIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAx CnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgSEFW RV9NRU5VUyAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5l IFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5l IEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVm aW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAj ZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9T SUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19H RVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0RV UDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHN5cy9sb2FkYXZnLmg+CmNv bmZpZ3VyZToyMTA4NTogcmVzdWx0OiBubwpjb25maWd1cmU6MjEwODU6IGNoZWNraW5nIHN5cy9s b2FkYXZnLmggcHJlc2VuY2UKY29uZmlndXJlOjIxMDg1OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtRSAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29u ZnRlc3QuYzoyMTg6MjU6IGZhdGFsIGVycm9yOiBzeXMvbG9hZGF2Zy5oOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8c3lzL2xvYWRhdmcuaD4KICAgICAgICAgICAgICAgICAg ICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjIxMDg1OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xB UkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9G U0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVm aW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZF X1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlh dGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVf WF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEK fCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUg SEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwg I2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUg SEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VU SU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNk ZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVm aW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5l IEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9H RVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dF VExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdE IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVf UkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVP RkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNk ZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhB VkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZG T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lO Rk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3Ry aWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVm aW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFW RV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBT RVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9O QU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElT X0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18p ID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9S WV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJB VElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJ TlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1F X1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05B TFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkg KChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2UpCnwgI2RlZmluZSBEQVRBX1NUQVJUIDB4MjAw MDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VU Sk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8 ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAx MyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAi eHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYu MS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXByZWZpeD08VE9PTFNE SVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0t c3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4nICct LXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtpdD1sdWNpZCcgJy0td2l0aG91dC1zb3VuZCcg Jy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91dC1rZXJiZXJvczUnICctLXdpdGgtZ2lmPW5v JyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzJyAnLS1lbmFibGUt bG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4nICctLXdpdGhvdXQtbWFrZWluZm8nICctLWVu YWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAnQ0M9PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliJyAn Q1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUnIgp8ICNkZWZpbmUgSEFW RV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVD SUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmlu ZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAx CnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNM IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJ WCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmlu ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5l IEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFW RV9MSUJQRVJGU1RBVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMv bG9hZGF2Zy5oPgpjb25maWd1cmU6MjEwODU6IHJlc3VsdDogbm8KY29uZmlndXJlOjIxMDg1OiBj aGVja2luZyBmb3Igc3lzL2xvYWRhdmcuaApjb25maWd1cmU6MjEwODU6IHJlc3VsdDogbm8KY29u ZmlndXJlOjIxMTAwOiBjaGVja2luZyB3aGV0aGVyIGdldGxvYWRhdmcgaXMgZGVjbGFyZWQKY29u ZmlndXJlOjIxMTAwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1P MyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzA6MTA6IGVycm9yOiAnZ2V0 bG9hZGF2ZycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICh2b2lk KSBnZXRsb2FkYXZnOwogICAgICAgICAgXgpjb25mdGVzdC5jOjIzMDoxMDogbm90ZTogZWFjaCB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0 aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjIxMTAwOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8 ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18g MQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1Mg MQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAj ZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BF RURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RM X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVO IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwg I2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09V UkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVm aW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9Y MTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1V IDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmlu ZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2 IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9Q TkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVf TElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1RO QU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVU RE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lH TkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEK fCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEK fCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZp bmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf U1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVN QUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNk ZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQ X1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BF TlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmlu ZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1Ig MQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRT IDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5l IEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwg I2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVD VElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAj ZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNk ZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNv cwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2Nf KSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9T RVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwg I2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9T T1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9y IChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5 X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5 IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RF UlMgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3B0ciAt IChGSUxFKS0+X2Jhc2UpCnwgI2RlZmluZSBEQVRBX1NUQVJUIDB4MjAwMDAwMDAKfCAjZGVmaW5l IERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAj ZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgVVNHNSAv KiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVm aW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmlu ZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMn ICctLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0tc3lzY29uZmRpcj08RVRD RElSPicgJy0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4nICctLXdpdGhvdXQtcG9wJyAn LS13aXRoLXgtdG9vbGtpdD1sdWNpZCcgJy0td2l0aG91dC1zb3VuZCcgJy0td2l0aG91dC1rZXJi ZXJvcycgJy0td2l0aG91dC1rZXJiZXJvczUnICctLXdpdGgtZ2lmPW5vJyAnLS13aXRoLXhwbScg Jy0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzJyAnLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08 TE9DQUxMSVNQUEFUSD4nICctLXdpdGhvdXQtbWFrZWluZm8nICctLWVuYWJsZS1saW5rLXRpbWUt b3B0aW1pemF0aW9uJyAnQ0M9PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MnICdDRkxBR1M9LU8z JyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliJyAnQ1BQRkxBR1M9IC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUnIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8 ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUg SEFWRV9YMTEgMQp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEK fCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg MQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VU VElNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZiBIQVZFX1NZU19MT0FEQVZHX0gKfCAgICAg IyBpbmNsdWRlIDxzeXMvbG9hZGF2Zy5oPgp8ICAgICAjZW5kaWYKfCAgICAgI2luY2x1ZGUgPHN0 ZGxpYi5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBnZXRsb2FkYXZnCnwgI2lm ZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgZ2V0bG9hZGF2ZzsKfCAjZWxzZQp8ICAgKHZvaWQp IGdldGxvYWRhdmc7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZToyMTEwMDogcmVzdWx0OiBubwpjb25maWd1cmU6MjExOTY6IGNoZWNraW5nIG5s aXN0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyMTE5NjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6MjExOTY6ICQ/ID0gMApjb25maWd1cmU6MjExOTY6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToyMTE5NjogY2hlY2tpbmcgbmxpc3QuaCBwcmVzZW5jZQpjb25m aWd1cmU6MjExOTY6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1FICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MjExOTY6ICQ/ID0gMApj b25maWd1cmU6MjExOTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTE5NjogY2hlY2tpbmcgZm9y IG5saXN0LmgKY29uZmlndXJlOjIxMTk2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjEyMDE6IGNo ZWNraW5nIGZvciBzdHJ1Y3Qgbmxpc3Qubl91bi5uX25hbWUKY29uZmlndXJlOjIxMjAxOiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzoyMjU6MTI6IGVycm9yOiAnc3RydWN0IG5saXN0JyBoYXMgbm8g bWVtYmVyIG5hbWVkICduX3VuJwogaWYgKGFjX2FnZ3Iubl91bi5uX25hbWUpCiAgICAgICAgICAg IF4KY29uZmlndXJlOjIxMjAxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJ TUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hS TVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAj ZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYg MQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNk ZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhB VkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAj ZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2Rl ZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVH IDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUg SEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIg MQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmlu ZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFW RV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZp bmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFW RV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF VExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVf UkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf TUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJ TSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZp bmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NG TUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZ U0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAj ZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAx CnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZp bmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5l IFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNF VCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEK fCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZp bmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUg SEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9D QUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhB VkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19W Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJ TlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01C U1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBB TVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmlu ZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVW SUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vz c2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElS RUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJ U19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJ U19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5f R0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9k ZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBj KyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0 YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5 bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUg UEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2Up CnwgI2RlZmluZSBEQVRBX1NUQVJUIDB4MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMg MHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBD T1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdf T1BUSU9OUyAiICctLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4 PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxz dGF0ZWRpcj08TE9DQUxTVEFURURJUj4nICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtp dD1sdWNpZCcgJy0td2l0aG91dC1zb3VuZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91 dC1rZXJiZXJvczUnICctLXdpdGgtZ2lmPW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29s a2l0LXNjcm9sbC1iYXJzJyAnLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4n ICctLXdpdGhvdXQtbWFrZWluZm8nICctLWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAn Q0M9PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zL2luY2x1ZGUnIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hf VE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNk ZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9B TExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEK fCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RF IDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VU RU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdO RURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpO QU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFW RV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZF X05MSVNUX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bmxpc3QuaD4K fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgbmxpc3QgYWNfYWdncjsKfCBp ZiAoYWNfYWdnci5uX3VuLm5fbmFtZSkKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjIxMjAxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMjU6MTk6IGVycm9y OiAnc3RydWN0IG5saXN0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICduX3VuJwogaWYgKHNpemVvZiBh Y19hZ2dyLm5fdW4ubl9uYW1lKQogICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjEyMDE6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9Q T1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5l IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5f SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO TlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hf STE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYg MQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVm aW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1J bnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAj ZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9Q TkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZp bmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hf RVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEK fCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwg I2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9O QU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwg I2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENX RCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8g MQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8 ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5l IEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8 ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5l IEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhB VkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEK fCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNF RUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8 ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZp bmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVf R0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFS TSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B U0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNk ZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNk ZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5l IEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5l IF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUg MQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2Rl ZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAj ZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNF Ul9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNk ZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2Nf KSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNf RElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQ VFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9O QU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlf VFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZp bmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VO VChGSUxFKSAoKEZJTEUpLT5fcHRyIC0gKEZJTEUpLT5fYmFzZSkKfCAjZGVmaW5lIERBVEFfU1RB UlQgMHgyMDAwMDAwMAp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVT RyAvKiovCnwgI2RlZmluZSBVU0c1IC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0 IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1f SEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1p Ym0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0tcHJlZml4 PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0y NC4zJyAnLS1zeXNjb25mZGlyPTxFVENESVI+JyAnLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRF RElSPicgJy0td2l0aG91dC1wb3AnICctLXdpdGgteC10b29sa2l0PWx1Y2lkJyAnLS13aXRob3V0 LXNvdW5kJyAnLS13aXRob3V0LWtlcmJlcm9zJyAnLS13aXRob3V0LWtlcmJlcm9zNScgJy0td2l0 aC1naWY9bm8nICctLXdpdGgteHBtJyAnLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMnICct LWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPicgJy0td2l0aG91dC1tYWtlaW5m bycgJy0tZW5hYmxlLWxpbmstdGltZS1vcHRpbWl6YXRpb24nICdDQz08VE9PTFNESVI+L2djYy00 LjgvYmluL2djYycgJ0NGTEFHUz0tTzMnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My9saWInICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSciCnwgI2Rl ZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5l IFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBIQVZFX01FTlVTIDEK fCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgV09SRFNfQklH RU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJ Uk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRP UFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEK fCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8 ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2Rl ZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxubGlzdC5oPgp8IAp8IGludAp8IG1haW4gKCkK fCB7Cnwgc3RhdGljIHN0cnVjdCBubGlzdCBhY19hZ2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci5u X3VuLm5fbmFtZSkKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjIxMjAxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMTIyODogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29u ZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIxMjI4OiAkPyA9IDAKY29uZmlndXJl OjIxMzUwOiBjaGVja2luZyB3aGV0aGVyIGdldHRpbWVvZmRheSBjbG9iYmVycyBsb2NhbHRpbWUg YnVmZmVyCmNvbmZpZ3VyZToyMTM4OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0 aHJlYWQgID4mNSAKY29uZmlndXJlOjIxMzg5OiAkPyA9IDAKY29uZmlndXJlOjIxMzg5OiAuL2Nv bmZ0ZXN0CmNvbmZpZ3VyZToyMTM4OTogJD8gPSAwCmNvbmZpZ3VyZToyMTM5OTogcmVzdWx0OiBu bwpjb25maWd1cmU6MjE0MTk6IGNoZWNraW5nIGZvciBnZXR0aW1lb2ZkYXkgd2l0aCBQT1NJWCBz aWduYXR1cmUKY29uZmlndXJlOjIxNDQ3OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3Rk PWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToyMTQ0NzogJD8gPSAwCmNvbmZpZ3VyZToyMTQ3MjogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjIxNTkzOiBjaGVja2luZyBmb3Igd29ya2luZyBta3RpbWUKY29uZmlndXJl OjIxNzk4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25m aWd1cmU6MjE3OTg6ICQ/ID0gMApjb25maWd1cmU6MjE3OTg6IC4vY29uZnRlc3QKY29uZmlndXJl OjIxNzk4OiAkPyA9IDMKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAzCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJH RV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05U TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZF X1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlND UkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRl Q2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAj ZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hf U00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwg I2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUg SEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhB VkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElN RVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVm aW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dB SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRM SU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwg I2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf RU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNF VFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNk ZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JF U19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVm aW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZF X0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZP X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmlj dF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmlu ZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVf U09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQ Q0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFN RSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19E RVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9 PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllf U0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJ T04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5U RiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9T UFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxT X1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgo RklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAw MDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpN UF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAj ZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0 ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEu MC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElS Pi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5 c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13 aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQnICct LXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycg Jy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxv Y2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFi bGUtbGluay10aW1lLW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj JyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQ UEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVf WF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lE IDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUg R05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff SCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8 ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVgg cnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jl c3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUg SEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBI QVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVf TElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9Q T0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1F T0ZEQVlfVElNRVpPTkUgdm9pZAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBUZXN0IHBy b2dyYW0gZnJvbSBQYXVsIEVnZ2VydCBhbmQgVG9ueSBMZW5laXMuICAqLwp8ICNpbmNsdWRlIDxs aW1pdHMuaD4KfCAjaW5jbHVkZSA8c3RkbGliLmg+CnwgI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCAj aWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwg I2lmbmRlZiBIQVZFX0FMQVJNCnwgIyBkZWZpbmUgYWxhcm0oWCkgLyogZW1wdHkgKi8KfCAjZW5k aWYKfCAKfCAvKiBXb3JrIGFyb3VuZCByZWRlZmluaXRpb24gdG8gcnBsX3B1dGVudiBieSBvdGhl ciBjb25maWcgdGVzdHMuICAqLwp8ICN1bmRlZiBwdXRlbnYKfCAKfCBzdGF0aWMgdGltZV90IHRp bWVfdF9tYXg7Cnwgc3RhdGljIHRpbWVfdCB0aW1lX3RfbWluOwp8IAp8IC8qIFZhbHVlcyB3ZSds bCB1c2UgdG8gc2V0IHRoZSBUWiBlbnZpcm9ubWVudCB2YXJpYWJsZS4gICovCnwgc3RhdGljIGNo YXIgKnR6X3N0cmluZ3NbXSA9IHsKfCAgIChjaGFyICopIDAsICJUWj1HTVQwIiwgIlRaPUpTVC05 IiwKfCAgICJUWj1FU1QrM0VEVCsyLE0xMC4xLjAvMDA6MDA6MDAsTTIuMy4wLzAwOjAwOjAwIgp8 IH07CnwgI2RlZmluZSBOX1NUUklOR1MgKHNpemVvZiAodHpfc3RyaW5ncykgLyBzaXplb2YgKHR6 X3N0cmluZ3NbMF0pKQp8IAp8IC8qIFJldHVybiAwIGlmIG1rdGltZSBmYWlscyB0byBjb252ZXJ0 IGEgZGF0ZSBpbiB0aGUgc3ByaW5nLWZvcndhcmQgZ2FwLgp8ICAgIEJhc2VkIG9uIGEgcHJvYmxl bSByZXBvcnQgZnJvbSBBbmRyZWFzIEphZWdlci4gICovCnwgc3RhdGljIGludAp8IHNwcmluZ19m b3J3YXJkX2dhcCAoKQp8IHsKfCAgIC8qIGdsaWJjICh1cCB0byBhYm91dCAxOTk4LTEwLTA3KSBm YWlsZWQgdGhpcyB0ZXN0LiAqLwp8ICAgc3RydWN0IHRtIHRtOwp8IAp8ICAgLyogVXNlIHRoZSBw b3J0YWJsZSBQT1NJWC4xIHNwZWNpZmljYXRpb24gIlRaPVBTVDhQRFQsTTQuMS4wLE0xMC41LjAi CnwgICAgICBpbnN0ZWFkIG9mICJUWj1BbWVyaWNhL1ZhbmNvdXZlciIgaW4gb3JkZXIgdG8gZGV0 ZWN0IHRoZSBidWcgZXZlbgp8ICAgICAgb24gc3lzdGVtcyB0aGF0IGRvbid0IHN1cHBvcnQgdGhl IE9sc29uIGV4dGVuc2lvbiwgb3IgZG9uJ3QgaGF2ZSB0aGUKfCAgICAgIGZ1bGwgem9uZWluZm8g dGFibGVzIGluc3RhbGxlZC4gICovCnwgICBwdXRlbnYgKCJUWj1QU1Q4UERULE00LjEuMCxNMTAu NS4wIik7CnwgCnwgICB0bS50bV95ZWFyID0gOTg7CnwgICB0bS50bV9tb24gPSAzOwp8ICAgdG0u dG1fbWRheSA9IDU7CnwgICB0bS50bV9ob3VyID0gMjsKfCAgIHRtLnRtX21pbiA9IDA7CnwgICB0 bS50bV9zZWMgPSAwOwp8ICAgdG0udG1faXNkc3QgPSAtMTsKfCAgIHJldHVybiBta3RpbWUgKCZ0 bSkgIT0gKHRpbWVfdCkgLTE7CnwgfQp8IAp8IHN0YXRpYyBpbnQKfCBta3RpbWVfdGVzdDEgKHRp bWVfdCBub3cpCnwgewp8ICAgc3RydWN0IHRtICpsdDsKfCAgIHJldHVybiAhIChsdCA9IGxvY2Fs dGltZSAoJm5vdykpIHx8IG1rdGltZSAobHQpID09IG5vdzsKfCB9CnwgCnwgc3RhdGljIGludAp8 IG1rdGltZV90ZXN0ICh0aW1lX3Qgbm93KQp8IHsKfCAgIHJldHVybiAobWt0aW1lX3Rlc3QxIChu b3cpCnwgICAgICAgICAgICYmIG1rdGltZV90ZXN0MSAoKHRpbWVfdCkgKHRpbWVfdF9tYXggLSBu b3cpKQp8ICAgICAgICAgICAmJiBta3RpbWVfdGVzdDEgKCh0aW1lX3QpICh0aW1lX3RfbWluICsg bm93KSkpOwp8IH0KfCAKfCBzdGF0aWMgaW50CnwgaXJpeF82XzRfYnVnICgpCnwgewp8ICAgLyog QmFzZWQgb24gY29kZSBmcm9tIEFyaWVsIEZhaWdvbi4gICovCnwgICBzdHJ1Y3QgdG0gdG07Cnwg ICB0bS50bV95ZWFyID0gOTY7CnwgICB0bS50bV9tb24gPSAzOwp8ICAgdG0udG1fbWRheSA9IDA7 CnwgICB0bS50bV9ob3VyID0gMDsKfCAgIHRtLnRtX21pbiA9IDA7CnwgICB0bS50bV9zZWMgPSAw Owp8ICAgdG0udG1faXNkc3QgPSAtMTsKfCAgIG1rdGltZSAoJnRtKTsKfCAgIHJldHVybiB0bS50 bV9tb24gPT0gMiAmJiB0bS50bV9tZGF5ID09IDMxOwp8IH0KfCAKfCBzdGF0aWMgaW50CnwgYmln dGltZV90ZXN0IChpbnQgaikKfCB7CnwgICBzdHJ1Y3QgdG0gdG07CnwgICB0aW1lX3Qgbm93Owp8 ICAgdG0udG1feWVhciA9IHRtLnRtX21vbiA9IHRtLnRtX21kYXkgPSB0bS50bV9ob3VyID0gdG0u dG1fbWluID0gdG0udG1fc2VjID0gajsKfCAgIG5vdyA9IG1rdGltZSAoJnRtKTsKfCAgIGlmIChu b3cgIT0gKHRpbWVfdCkgLTEpCnwgICAgIHsKfCAgICAgICBzdHJ1Y3QgdG0gKmx0ID0gbG9jYWx0 aW1lICgmbm93KTsKfCAgICAgICBpZiAoISAobHQKfCAgICAgICAgICAgICAgJiYgbHQtPnRtX3ll YXIgPT0gdG0udG1feWVhcgp8ICAgICAgICAgICAgICAmJiBsdC0+dG1fbW9uID09IHRtLnRtX21v bgp8ICAgICAgICAgICAgICAmJiBsdC0+dG1fbWRheSA9PSB0bS50bV9tZGF5CnwgICAgICAgICAg ICAgICYmIGx0LT50bV9ob3VyID09IHRtLnRtX2hvdXIKfCAgICAgICAgICAgICAgJiYgbHQtPnRt X21pbiA9PSB0bS50bV9taW4KfCAgICAgICAgICAgICAgJiYgbHQtPnRtX3NlYyA9PSB0bS50bV9z ZWMKfCAgICAgICAgICAgICAgJiYgbHQtPnRtX3lkYXkgPT0gdG0udG1feWRheQp8ICAgICAgICAg ICAgICAmJiBsdC0+dG1fd2RheSA9PSB0bS50bV93ZGF5CnwgICAgICAgICAgICAgICYmICgobHQt PnRtX2lzZHN0IDwgMCA/IC0xIDogMCA8IGx0LT50bV9pc2RzdCkKfCAgICAgICAgICAgICAgICAg ICA9PSAodG0udG1faXNkc3QgPCAwID8gLTEgOiAwIDwgdG0udG1faXNkc3QpKSkpCnwgICAgICAg ICByZXR1cm4gMDsKfCAgICAgfQp8ICAgcmV0dXJuIDE7CnwgfQp8IAp8IHN0YXRpYyBpbnQKfCB5 ZWFyXzIwNTBfdGVzdCAoKQp8IHsKfCAgIC8qIFRoZSBjb3JyZWN0IGFuc3dlciBmb3IgMjA1MC0w Mi0wMSAwMDowMDowMCBpbiBQYWNpZmljIHRpbWUsCnwgICAgICBpZ25vcmluZyBsZWFwIHNlY29u ZHMuICAqLwp8ICAgdW5zaWduZWQgbG9uZyBpbnQgYW5zd2VyID0gMjUyNzMxNTIwMFVMOwp8IAp8 ICAgc3RydWN0IHRtIHRtOwp8ICAgdGltZV90IHQ7CnwgICB0bS50bV95ZWFyID0gMjA1MCAtIDE5 MDA7CnwgICB0bS50bV9tb24gPSAyIC0gMTsKfCAgIHRtLnRtX21kYXkgPSAxOwp8ICAgdG0udG1f aG91ciA9IHRtLnRtX21pbiA9IHRtLnRtX3NlYyA9IDA7CnwgICB0bS50bV9pc2RzdCA9IC0xOwp8 IAp8ICAgLyogVXNlIHRoZSBwb3J0YWJsZSBQT1NJWC4xIHNwZWNpZmljYXRpb24gIlRaPVBTVDhQ RFQsTTQuMS4wLE0xMC41LjAiCnwgICAgICBpbnN0ZWFkIG9mICJUWj1BbWVyaWNhL1ZhbmNvdXZl ciIgaW4gb3JkZXIgdG8gZGV0ZWN0IHRoZSBidWcgZXZlbgp8ICAgICAgb24gc3lzdGVtcyB0aGF0 IGRvbid0IHN1cHBvcnQgdGhlIE9sc29uIGV4dGVuc2lvbiwgb3IgZG9uJ3QgaGF2ZSB0aGUKfCAg ICAgIGZ1bGwgem9uZWluZm8gdGFibGVzIGluc3RhbGxlZC4gICovCnwgICBwdXRlbnYgKCJUWj1Q U1Q4UERULE00LjEuMCxNMTAuNS4wIik7CnwgCnwgICB0ID0gbWt0aW1lICgmdG0pOwp8IAp8ICAg LyogQ2hlY2sgdGhhdCB0aGUgcmVzdWx0IGlzIGVpdGhlciBhIGZhaWx1cmUsIG9yIGNsb3NlIGVu b3VnaAp8ICAgICAgdG8gdGhlIGNvcnJlY3QgYW5zd2VyIHRoYXQgd2UgY2FuIGFzc3VtZSB0aGUg ZGlzY3JlcGFuY3kgaXMKfCAgICAgIGR1ZSB0byBsZWFwIHNlY29uZHMuICAqLwp8ICAgcmV0dXJu ICh0ID09ICh0aW1lX3QpIC0xCnwgICAgICAgICAgIHx8ICgwIDwgdCAmJiBhbnN3ZXIgLSAxMjAg PD0gdCAmJiB0IDw9IGFuc3dlciArIDEyMCkpOwp8IH0KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 ICAgaW50IHJlc3VsdCA9IDA7CnwgICB0aW1lX3QgdCwgZGVsdGE7CnwgICBpbnQgaSwgajsKfCAg IGludCB0aW1lX3Rfc2lnbmVkX21hZ25pdHVkZSA9ICh0aW1lX3QpIH4gKHRpbWVfdCkgMCA8ICh0 aW1lX3QpIC0xOwp8ICAgaW50IHRpbWVfdF9zaWduZWQgPSAhICgodGltZV90KSAwIDwgKHRpbWVf dCkgLTEpOwp8IAp8ICAgLyogVGhpcyB0ZXN0IG1ha2VzIHNvbWUgYnVnZ3kgbWt0aW1lIGltcGxl bWVudGF0aW9ucyBsb29wLgp8ICAgICAgR2l2ZSB1cCBhZnRlciA2MCBzZWNvbmRzOyBhIG1rdGlt ZSBzbG93ZXIgdGhhbiB0aGF0CnwgICAgICBpc24ndCB3b3J0aCB1c2luZyBhbnl3YXkuICAqLwp8 ICAgYWxhcm0gKDYwKTsKfCAKfCAgIHRpbWVfdF9tYXggPSAoISB0aW1lX3Rfc2lnbmVkCnwgICAg ICAgICAgICAgICAgID8gKHRpbWVfdCkgLTEKfCAgICAgICAgICAgICAgICAgOiAoKCgodGltZV90 KSAxIDw8IChzaXplb2YgKHRpbWVfdCkgKiBDSEFSX0JJVCAtIDIpKSAtIDEpCnwgICAgICAgICAg ICAgICAgICAgICogMiArIDEpKTsKfCAgIHRpbWVfdF9taW4gPSAoISB0aW1lX3Rfc2lnbmVkCnwg ICAgICAgICAgICAgICAgID8gKHRpbWVfdCkgMAp8ICAgICAgICAgICAgICAgICA6IHRpbWVfdF9z aWduZWRfbWFnbml0dWRlCnwgICAgICAgICAgICAgICAgID8gfiAodGltZV90KSAwCnwgICAgICAg ICAgICAgICAgIDogfiB0aW1lX3RfbWF4KTsKfCAKfCAgIGRlbHRhID0gdGltZV90X21heCAvIDk5 NzsgLyogYSBzdWl0YWJsZSBwcmltZSBudW1iZXIgKi8KfCAgIGZvciAoaSA9IDA7IGkgPCBOX1NU UklOR1M7IGkrKykKfCAgICAgewp8ICAgICAgIGlmICh0el9zdHJpbmdzW2ldKQp8ICAgICAgICAg cHV0ZW52ICh0el9zdHJpbmdzW2ldKTsKfCAKfCAgICAgICBmb3IgKHQgPSAwOyB0IDw9IHRpbWVf dF9tYXggLSBkZWx0YSAmJiAocmVzdWx0ICYgMSkgPT0gMDsgdCArPSBkZWx0YSkKfCAgICAgICAg IGlmICghIG1rdGltZV90ZXN0ICh0KSkKfCAgICAgICAgICAgcmVzdWx0IHw9IDE7CnwgICAgICAg aWYgKChyZXN1bHQgJiAyKSA9PSAwCnwgICAgICAgICAgICYmICEgKG1rdGltZV90ZXN0ICgodGlt ZV90KSAxKQp8ICAgICAgICAgICAgICAgICAmJiBta3RpbWVfdGVzdCAoKHRpbWVfdCkgKDYwICog NjApKQp8ICAgICAgICAgICAgICAgICAmJiBta3RpbWVfdGVzdCAoKHRpbWVfdCkgKDYwICogNjAg KiAyNCkpKSkKfCAgICAgICAgIHJlc3VsdCB8PSAyOwp8IAp8ICAgICAgIGZvciAoaiA9IDE7IChy ZXN1bHQgJiA0KSA9PSAwOyBqIDw8PSAxKQp8ICAgICAgICAgewp8ICAgICAgICAgICBpZiAoISBi aWd0aW1lX3Rlc3QgKGopKQp8ICAgICAgICAgICAgIHJlc3VsdCB8PSA0Owp8ICAgICAgICAgICBp ZiAoSU5UX01BWCAvIDIgPCBqKQp8ICAgICAgICAgICAgIGJyZWFrOwp8ICAgICAgICAgfQp8ICAg ICAgIGlmICgocmVzdWx0ICYgOCkgPT0gMCAmJiAhIGJpZ3RpbWVfdGVzdCAoSU5UX01BWCkpCnwg ICAgICAgICByZXN1bHQgfD0gODsKfCAgICAgfQp8ICAgaWYgKCEgaXJpeF82XzRfYnVnICgpKQp8 ICAgICByZXN1bHQgfD0gMTY7CnwgICBpZiAoISBzcHJpbmdfZm9yd2FyZF9nYXAgKCkpCnwgICAg IHJlc3VsdCB8PSAzMjsKfCAgIGlmICghIHllYXJfMjA1MF90ZXN0ICgpKQp8ICAgICByZXN1bHQg fD0gNjQ7CnwgICByZXR1cm4gcmVzdWx0Owp8IH0KY29uZmlndXJlOjIxODA5OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToyMTg0OTogY2hlY2tpbmcgd2hldGhlciBzaWduYXR1cmUgb2YgcHNlbGVjdCBj b25mb3JtcyB0byBQT1NJWApjb25maWd1cmU6MjE4Njk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z L2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0 ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u ZnRlc3QuYzoyMjk6NTU6IHdhcm5pbmc6IGluaXRpYWxpemF0aW9uIGZyb20gaW5jb21wYXRpYmxl IHBvaW50ZXIgdHlwZSBbZW5hYmxlZCBieSBkZWZhdWx0XQogICAgICAgICAgICAgICAgICAgICAg ICAgICBzaWdzZXRfdCBjb25zdCAqcmVzdHJpY3QpID0gcHNlbGVjdDsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjIxODY5 OiAkPyA9IDAKY29uZmlndXJlOjIxODc3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE4ODA6IGNo ZWNraW5nIHdoZXRoZXIgcHNlbGVjdCBkZXRlY3RzIGludmFsaWQgZmRzCmNvbmZpZ3VyZToyMTky NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMg ICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZnRlc3Qu YzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzNzozOiB3YXJuaW5nOiBpbXBsaWNp dCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnbWVtc2V0JyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1k ZWNsYXJhdGlvbl0KICAgRkRfWkVSTygmc2V0KTsKICAgXgpjb25maWd1cmU6MjE5MjU6ICQ/ID0g MApjb25maWd1cmU6MjE5MjU6IC4vY29uZnRlc3QKY29uZmlndXJlOjIxOTI1OiAkPyA9IDAKY29u ZmlndXJlOjIxOTM2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjIwNDI6IGNoZWNraW5nIHdoZXRo ZXIgcHRocmVhZF9zaWdtYXNrIHdvcmtzIHdpdGhvdXQgLWxwdGhyZWFkCmNvbmZpZ3VyZToyMjA3 MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzMg ICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJl OjIyMDcxOiAkPyA9IDAKY29uZmlndXJlOjIyMDcxOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMjA3 MTogJD8gPSAxCmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFj cyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMi CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklM RVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE Ul9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NS RUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4g MQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmlu ZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFW RV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEK fCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxi YWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEK fCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dF VFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQ QVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEK fCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBI QVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFW RV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9T RU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RS RVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAx CnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZp bmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9Q T1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVf RU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdS RU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVF RCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNk ZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVf X19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5l IEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9Q T1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5J VCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK fCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBI QVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZF X1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NB TFRJTUVfUiAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVU X1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8 ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JL IDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RF U0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJy IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xB U0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tF VFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIg JzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHct PnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNF X1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElS RUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAo X2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBE RUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGlu dCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3Ry Y3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5U RiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFf Q0hBUkFDVEVSUyAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJTEUp LT5fcHRyIC0gKEZJTEUpLT5fYmFzZSkKfCAjZGVmaW5lIERBVEFfU1RBUlQgMHgyMDAwMDAwMAp8 ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09S S1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmlu ZSBVU0c1IC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5o Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIK fCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0tcHJlZml4PTxUT09MU0RJUj4vZW1h Y3MtMjQuMycgJy0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1zeXNjb25m ZGlyPTxFVENESVI+JyAnLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPicgJy0td2l0aG91 dC1wb3AnICctLXdpdGgteC10b29sa2l0PWx1Y2lkJyAnLS13aXRob3V0LXNvdW5kJyAnLS13aXRo b3V0LWtlcmJlcm9zJyAnLS13aXRob3V0LWtlcmJlcm9zNScgJy0td2l0aC1naWY9bm8nICctLXdp dGgteHBtJyAnLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMnICctLWVuYWJsZS1sb2NhbGxp c3BwYXRoPTxMT0NBTExJU1BQQVRIPicgJy0td2l0aG91dC1tYWtlaW5mbycgJy0tZW5hYmxlLWxp bmstdGltZS1vcHRpbWl6YXRpb24nICdDQz08VE9PTFNESVI+L2djYy00LjgvYmluL2djYycgJ0NG TEFHUz0tTzMnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWInICdDUFBGTEFH Uz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSciCnwgI2RlZmluZSBIQVZFX1hfV0lO RE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwg I2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEdOVV9N QUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8 ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVm aW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8K fCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9D TE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0xJQlBF UkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRF UiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZ X1RJTUVaT05FIHZvaWQKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgI2luY2x1ZGUgPHB0 aHJlYWQuaD4KfCAjaW5jbHVkZSA8c2lnbmFsLmg+CnwgI2luY2x1ZGUgPHN0ZGRlZi5oPgp8IGlu dCBtYWluICgpCnwgewp8ICAgc2lnc2V0X3Qgc2V0Owp8ICAgc2lnZW1wdHlzZXQgKCZzZXQpOwp8 ICAgcmV0dXJuIHB0aHJlYWRfc2lnbWFzayAoMTcyOSwgJnNldCwgTlVMTCkgIT0gMDsKfCB9CmNv bmZpZ3VyZToyMjA4MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMDk0OiBjaGVja2luZyB3aGV0 aGVyIHB0aHJlYWRfc2lnbWFzayByZXR1cm5zIGVycm9yIG51bWJlcnMKY29uZmlndXJlOjIyMTI2 OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJl OjIyMTI2OiAkPyA9IDAKY29uZmlndXJlOjIyMTI2OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMjEy NjogJD8gPSAwCmNvbmZpZ3VyZToyMjEzODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMTQ5OiBj aGVja2luZyB3aGV0aGVyIHB0aHJlYWRfc2lnbWFzayB1bmJsb2NrcyBzaWduYWxzIGNvcnJlY3Rs eQpjb25maWd1cmU6MjIyMDM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgIC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFk ICAgPiY1IApjb25maWd1cmU6MjIyMDM6ICQ/ID0gMApjb25maWd1cmU6MjIyMDM6IC4vY29uZnRl c3QKY29uZmlndXJlOjIyMjAzOiAkPyA9IDAKY29uZmlndXJlOjIyMjE1OiByZXN1bHQ6IGd1ZXNz aW5nIHllcwpjb25maWd1cmU6MjIyNjM6IGNoZWNraW5nIHdoZXRoZXIgcmVhZGxpbmsgc2lnbmF0 dXJlIGlzIGNvcnJlY3QKY29uZmlndXJlOjIyMjgxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MjI1OjE1OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMg Zm9yICdyZWFkbGluaycKICAgICAgIHNzaXplX3QgcmVhZGxpbmsgKGNvbnN0IGNoYXIgKiwgY2hh ciAqLCBzaXplX3QpOwogICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25m dGVzdC5jOjIyMzowOgovdXNyL2luY2x1ZGUvdW5pc3RkLmg6ODMzOjEzOiBub3RlOiBwcmV2aW91 cyBkZWNsYXJhdGlvbiBvZiAncmVhZGxpbmsnIHdhcyBoZXJlCiAgZXh0ZXJuIGludCByZWFkbGlu ayhjb25zdCBjaGFyICosIGNoYXIgKiwgc2l6ZV90KTsKICAgICAgICAgICAgIF4KY29uZmlndXJl OjIyMjgxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJ U1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQ IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNF IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVf WFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUg SEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9Y MTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAx CnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdp c3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQ TSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEK fCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUg SEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9M T0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VE SVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRT SUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFW RV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFE RFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwg I2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZU SU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwg I2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2Rl ZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBI QVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFO VFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEK fCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhB VkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hF IDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwg I2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVM TF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMg MQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251 bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVm aW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAn LycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllf U0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9j XykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNk ZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmlu ZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZp bmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsK fCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQ VVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2UpCnwgI2RlZmluZSBE QVRBX1NUQVJUIDB4MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8 ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2Rl ZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNv cHlyaWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmlu ZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBv d2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICct LXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4v ZW1hY3MtMjQuMycgJy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxzdGF0ZWRpcj08TE9D QUxTVEFURURJUj4nICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtpdD1sdWNpZCcgJy0t d2l0aG91dC1zb3VuZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91dC1rZXJiZXJvczUn ICctLXdpdGgtZ2lmPW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29sa2l0LXNjcm9sbC1i YXJzJyAnLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4nICctLXdpdGhvdXQt bWFrZWluZm8nICctLWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAnQ0M9PFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMvbGliJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUn Igp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwg I2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgSEFWRV9N RU5VUyAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIFdP UkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhB VkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9TSUdT RVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VU SU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRU SU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIg MQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8 ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8K fCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx1bmlzdGQu aD4KfCAgICAgICAvKiBDYXVzZSBjb21waWxhdGlvbiBmYWlsdXJlIGlmIG9yaWdpbmFsIGRlY2xh cmF0aW9uIGhhcyB3cm9uZyB0eXBlLiAgKi8KfCAgICAgICBzc2l6ZV90IHJlYWRsaW5rIChjb25z dCBjaGFyICosIGNoYXIgKiwgc2l6ZV90KTsKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjIyODg6IHJlc3VsdDogbm8KY29uZmlndXJlOjIy MjkwOiBjaGVja2luZyB3aGV0aGVyIHJlYWRsaW5rIGhhbmRsZXMgdHJhaWxpbmcgc2xhc2ggY29y cmVjdGx5CmNvbmZpZ3VyZToyMjMyMDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0 aHJlYWQgID4mNSAKY29uZmlndXJlOjIyMzIwOiAkPyA9IDAKY29uZmlndXJlOjIyMzIwOiAuL2Nv bmZ0ZXN0CmNvbmZpZ3VyZToyMjMyMDogJD8gPSAwCmNvbmZpZ3VyZToyMjMzMTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjIyNDQ3OiBjaGVja2luZyBmb3Igdm9sYXRpbGUgc2lnX2F0b21pY190CmNv bmZpZ3VyZToyMjQ0NzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAt TzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6MjI0NDc6ICQ/ID0gMApjb25maWd1cmU6MjI0NDc6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVz dC5jOjIzMDozNjogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgog aWYgKHNpemVvZiAoKHZvbGF0aWxlIHNpZ19hdG9taWNfdCkpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyMjQ0NzogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwg I2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQ RUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9E TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xF TiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8 ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNP VVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhN VSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJn NiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAj ZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVf UE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZp bmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NU TkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdF IDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9M UkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05G IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hV VERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVm aW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01F TUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBI QVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdS UF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09Q RU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAj ZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNF TEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9S IDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VU UyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0 cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRF Q1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwg I2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAj ZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vj b3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9j XykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllf U0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8 ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRf U09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZv ciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0 eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNw eSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNU RVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIg LSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmlu ZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwg I2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUg LyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4z JyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVU Q0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcg Jy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2Vy YmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0n ICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9 PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1l LW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1P MycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEK fCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5l IEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAx CnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFW RV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZp bmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwg I2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1F UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NF VFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQg MQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpP TkUgdm9pZAp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8c2lnbmFsLmg+CnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8 IHsKfCBpZiAoc2l6ZW9mICgodm9sYXRpbGUgc2lnX2F0b21pY190KSkpCnwgCSAgICByZXR1cm4g MDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyNDQ3OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjI0NjM6IGNoZWNraW5nIGZvciBzaWdoYW5kbGVyX3QKY29uZmlndXJlOjIyNDYz OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1 bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzA6MTM6IGVycm9yOiAnc2lnaGFuZGxlcl90JyB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKIGlmIChzaXplb2YgKHNpZ2hh bmRsZXJfdCkpCiAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MjMwOjEzOiBub3RlOiBlYWNoIHVu ZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rp b24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6MjI0NjM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNf U0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVF RF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExf SCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4g MQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAj ZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VS Q0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZp bmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gx MVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUg MQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYg WFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2Rl ZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BO RyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5l IEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmlu ZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1B TElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2Rl ZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFW RV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBf Vk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVO UFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2Rl ZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5l IEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAx CnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMg MQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNU SU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2Rl ZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29z CnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18p IDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NF UCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAj ZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NP VU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3Ig KGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlf bmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkg KHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVS UyAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcHRyIC0g KEZJTEUpLT5fYmFzZSkKfCAjZGVmaW5lIERBVEFfU1RBUlQgMHgyMDAwMDAwMAp8ICNkZWZpbmUg REFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNk ZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBVU0c1IC8q Ki8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycg Jy0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1zeXNjb25mZGlyPTxFVENE SVI+JyAnLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPicgJy0td2l0aG91dC1wb3AnICct LXdpdGgteC10b29sa2l0PWx1Y2lkJyAnLS13aXRob3V0LXNvdW5kJyAnLS13aXRob3V0LWtlcmJl cm9zJyAnLS13aXRob3V0LWtlcmJlcm9zNScgJy0td2l0aC1naWY9bm8nICctLXdpdGgteHBtJyAn LS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMnICctLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxM T0NBTExJU1BQQVRIPicgJy0td2l0aG91dC1tYWtlaW5mbycgJy0tZW5hYmxlLWxpbmstdGltZS1v cHRpbWl6YXRpb24nICdDQz08VE9PTFNESVI+L2djYy00LjgvYmluL2djYycgJ0NGTEFHUz0tTzMn ICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWInICdDUFBGTEFHUz0gLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwg I2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBI QVZFX1gxMSAxCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8 ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVf Qzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5l IEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAx CnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRU SU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEK fCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2Rl ZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05F IHZvaWQKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgCnwgI2luY2x1ZGUgPHNpZ25hbC5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7 CnwgaWYgKHNpemVvZiAoc2lnaGFuZGxlcl90KSkKfCAJIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0 dXJuIDA7CnwgfQpjb25maWd1cmU6MjI0NjM6IHJlc3VsdDogbm8KY29uZmlndXJlOjIyNDc2OiBj aGVja2luZyBmb3Igc29ja2xlbl90CmNvbmZpZ3VyZToyMjQ3NjogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjI0NzY6ICQ/ID0gMApjb25maWd1cmU6MjI0 NzY6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4g ZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzODoyNDogZXJyb3I6IGV4cGVjdGVkIGV4cHJl c3Npb24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNpemVvZiAoKHNvY2tsZW5fdCkpKQogICAgICAg ICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyMjQ3NjogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwg I2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQ RUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9E TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xF TiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8 ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNP VVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhN VSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJn NiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAj ZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVf UE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZp bmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NU TkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdF IDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9M UkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05G IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hV VERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVm aW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01F TUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBI QVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdS UF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09Q RU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAj ZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNF TEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9S IDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VU UyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0 cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRF Q1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwg I2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAj ZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vj b3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9j XykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllf U0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8 ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRf U09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZv ciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0 eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNw eSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNU RVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIg LSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmlu ZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwg I2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUg LyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4z JyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVU Q0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcg Jy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2Vy YmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0n ICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9 PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1l LW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1P MycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEK fCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5l IEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAx CnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFW RV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZp bmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwg I2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1F UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NF VFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQg MQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpP TkUgdm9pZAp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAKfCAvKiA8c3lzL3R5cGVzLmg+IGlzIG5vdCBuZWVkZWQgYWNjb3JkaW5nIHRv IFBPU0lYLCBidXQgdGhlCnwgICAgPHN5cy9zb2NrZXQuaD4gaW4gaTM4Ni11bmtub3duLWZyZWVi c2Q0LjEwIGFuZAp8ICAgIHBvd2VycGMtYXBwbGUtZGFyd2luNS41IHJlcXVpcmVkIGl0LiAqLwp8 ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gKfCAjIGluY2x1 ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZWxpZiBIQVZFX1dTMlRDUElQX0gKfCAjIGluY2x1ZGUgPHdz MnRjcGlwLmg+CnwgI2VuZGlmCnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9m ICgoc29ja2xlbl90KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjIyNDc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI1NDA6IGNoZWNraW5nIGZv ciBzc2l6ZV90CmNvbmZpZ3VyZToyMjU1NzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6MjI1NTc6ICQ/ID0gMApjb25maWd1cmU6MjI1NjQ6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyMjU3NjogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2F0aW0udHZf bnNlYwpjb25maWd1cmU6MjI1NzY6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251 OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzMDoxMjogZXJy b3I6ICdzdHJ1Y3Qgc3RhdDY0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9hdGltJwogaWYgKGFj X2FnZ3Iuc3RfYXRpbS50dl9uc2VjKQogICAgICAgICAgICBeCmNvbmZpZ3VyZToyMjU3NjogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFW RV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1F X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9G TEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmlu ZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1C RVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThO IDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwg I2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUg SEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3Rh bnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19I IDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBI QVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJO TyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNk ZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVm aW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFW RV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEK fCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwg I2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2Rl ZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhB VkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFW RV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lO QyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2Rl ZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFW RV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9H RVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNk ZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08g MQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2Rl ZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBI QVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRU SU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEK fCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmlu ZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFW RV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xB TkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19y ZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwg I2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5l IEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZp bmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZV TExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmlu ZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgo X2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJF Q1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9J VEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVf U1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlf TkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBT SUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJ TEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUgREFUQV9TVEFSVCAw eDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdD X1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8q Ki8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMp IDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1h aXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS1wcmVmaXg9PFRP T0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMn ICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+ JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICctLXdpdGhvdXQtc291 bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1JyAnLS13aXRoLWdp Zj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycycgJy0tZW5h YmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0LW1ha2VpbmZvJyAn LS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xp YicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5l IEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNF X0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNk ZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJ QU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05f REVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9Q UkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNk ZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5l IEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5f TkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBH RVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAg ICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBz dHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2F0aW0udHZfbnNlYykKfCByZXR1 cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyNTc2OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWlu JzoKY29uZnRlc3QuYzoyMzA6MTk6IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFzIG5vIG1lbWJl ciBuYW1lZCAnc3RfYXRpbScKIGlmIChzaXplb2YgYWNfYWdnci5zdF9hdGltLnR2X25zZWMpCiAg ICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyMjU3NjogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwg I2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQ RUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9E TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xF TiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8 ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNP VVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhN VSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJn NiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAj ZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVf UE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZp bmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NU TkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdF IDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9M UkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05G IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hV VERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVm aW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01F TUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBI QVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdS UF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09Q RU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAj ZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNF TEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9S IDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VU UyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0 cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRF Q1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwg I2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAj ZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vj b3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9j XykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllf U0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8 ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRf U09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZv ciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0 eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNw eSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNU RVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIg LSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmlu ZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwg I2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUg LyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4z JyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVU Q0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcg Jy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICctLXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2Vy YmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0n ICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9 PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1l LW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1P MycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEK fCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5l IEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAx CnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFW RV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZp bmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwg I2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1F UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NF VFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQg MQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpP TkUgdm9pZAp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAgICAjaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dy Owp8IGlmIChzaXplb2YgYWNfYWdnci5zdF9hdGltLnR2X25zZWMpCnwgcmV0dXJuIDA7CnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMjU3NjogcmVzdWx0OiBubwpjb25maWd1cmU6 MjI2Mjc6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3RhdC5zdF9hdGltZXNwZWMudHZfbnNlYwpjb25m aWd1cmU6MjI2Mjc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8z ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzMDoxMjogZXJyb3I6ICdzdHJ1 Y3Qgc3RhdDY0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9hdGltZXNwZWMnCiBpZiAoYWNfYWdn ci5zdF9hdGltZXNwZWMudHZfbnNlYykKICAgICAgICAgICAgXgpjb25maWd1cmU6MjI2Mjc6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhB VkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFN X0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElN RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf RkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVN QkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4 TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5l IEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0 YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdf SCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUg SEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJS Tk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAj ZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2Rl ZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhB VkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhB VkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVf R0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtP IDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUg SEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAx CnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZp bmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZp bmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhB VkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9M QU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9f cmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8 ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmlu ZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVm aW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9G VUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZp bmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAo KF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElS RUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAx CnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlf SVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1F X1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZ X05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUg U0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChG SUxFKSAoKEZJTEUpLT5fcHRyIC0gKEZJTEUpLT5fYmFzZSkKfCAjZGVmaW5lIERBVEFfU1RBUlQg MHgyMDAwMDAwMAp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBH Q19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAv KiovCnwgI2RlZmluZSBVU0c1IC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChD KSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVB REVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0t YWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0tcHJlZml4PTxU T09MU0RJUj4vZW1hY3MtMjQuMycgJy0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4z JyAnLS1zeXNjb25mZGlyPTxFVENESVI+JyAnLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElS PicgJy0td2l0aG91dC1wb3AnICctLXdpdGgteC10b29sa2l0PWx1Y2lkJyAnLS13aXRob3V0LXNv dW5kJyAnLS13aXRob3V0LWtlcmJlcm9zJyAnLS13aXRob3V0LWtlcmJlcm9zNScgJy0td2l0aC1n aWY9bm8nICctLXdpdGgteHBtJyAnLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMnICctLWVu YWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPicgJy0td2l0aG91dC1tYWtlaW5mbycg Jy0tZW5hYmxlLWxpbmstdGltZS1vcHRpbWl6YXRpb24nICdDQz08VE9PTFNESVI+L2djYy00Ljgv YmluL2djYycgJ0NGTEFHUz0tTzMnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9s aWInICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSciCnwgI2RlZmlu ZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVT RV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAj ZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5E SUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9O X0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRf UFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJp Y3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAj ZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNk ZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmlu ZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBO X05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUg R0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAg ICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0 aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5zdF9hdGltZXNwZWMudHZfbnNl YykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyNjI3OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzA6MTk6IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFz IG5vIG1lbWJlciBuYW1lZCAnc3RfYXRpbWVzcGVjJwogaWYgKHNpemVvZiBhY19hZ2dyLnN0X2F0 aW1lc3BlYy50dl9uc2VjKQogICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjI2Mjc6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhB VkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFN X0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElN RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf RkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVN QkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4 TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5l IEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0 YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdf SCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUg SEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJS Tk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAj ZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2Rl ZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhB VkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhB VkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVf R0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtP IDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUg SEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAx CnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZp bmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZp bmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhB VkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9M QU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9f cmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8 ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmlu ZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVm aW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9G VUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZp bmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAo KF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElS RUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAx CnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlf SVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1F X1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZ X05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUg U0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChG SUxFKSAoKEZJTEUpLT5fcHRyIC0gKEZJTEUpLT5fYmFzZSkKfCAjZGVmaW5lIERBVEFfU1RBUlQg MHgyMDAwMDAwMAp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBH Q19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAv KiovCnwgI2RlZmluZSBVU0c1IC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChD KSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVB REVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0t YWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0tcHJlZml4PTxU T09MU0RJUj4vZW1hY3MtMjQuMycgJy0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4z JyAnLS1zeXNjb25mZGlyPTxFVENESVI+JyAnLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElS PicgJy0td2l0aG91dC1wb3AnICctLXdpdGgteC10b29sa2l0PWx1Y2lkJyAnLS13aXRob3V0LXNv dW5kJyAnLS13aXRob3V0LWtlcmJlcm9zJyAnLS13aXRob3V0LWtlcmJlcm9zNScgJy0td2l0aC1n aWY9bm8nICctLXdpdGgteHBtJyAnLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMnICctLWVu YWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPicgJy0td2l0aG91dC1tYWtlaW5mbycg Jy0tZW5hYmxlLWxpbmstdGltZS1vcHRpbWl6YXRpb24nICdDQz08VE9PTFNESVI+L2djYy00Ljgv YmluL2djYycgJ0NGTEFHUz0tTzMnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9s aWInICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSciCnwgI2RlZmlu ZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVT RV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAj ZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5E SUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9O X0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRf UFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJp Y3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAj ZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNk ZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmlu ZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBO X05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUg R0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAg ICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0 aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbWVzcGVj LnR2X25zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToy MjYyNzogcmVzdWx0OiBubwpjb25maWd1cmU6MjI2Mzg6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3Rh dC5zdF9hdGltZW5zZWMKY29uZmlndXJlOjIyNjM4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoy MzA6MTI6IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYXRp bWVuc2VjJwogaWYgKGFjX2FnZ3Iuc3RfYXRpbWVuc2VjKQogICAgICAgICAgICBeCmNvbmZpZ3Vy ZToyMjYzODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEK fCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8 ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1B UCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFT RSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZF X1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5l IEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVf WDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQg MQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVn aXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9Y UE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmlu ZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAx CnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf TE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NF RElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VU U0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8 ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhB VkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRB RERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElU SU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEK fCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8 ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZG VElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VU UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8 ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZF X1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JB TlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAx CnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNI RSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8 ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNk ZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8 ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZV TExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlT IDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9u dWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2Rl ZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAg Jy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZ X1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChf Y18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5U X0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAj ZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZp bmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVm aW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7 CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VU UFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUg REFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNk ZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJD b3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZp bmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJw b3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAn LS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+ L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExP Q0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICct LXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1 JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwt YmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0 LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9l bWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRl JyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8 ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVf TUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBX T1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBI QVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmlu ZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2Rl ZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lH U0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9V VElNQlVGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VU VElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAy IDEKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEK fCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxf CnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2F0 aW1lbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIy NjM4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzA6MTk6IGVycm9yOiAnc3RydWN0IHN0YXQ2 NCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYXRpbWVuc2VjJwogaWYgKHNpemVvZiBhY19hZ2dy LnN0X2F0aW1lbnNlYykKICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjIyNjM4OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZF X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5l IEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJF Uk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4g MQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAj ZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBI QVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFu dGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0gg MQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhB VkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5P IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2Rl ZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZp bmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAx CnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZp bmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZF X1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8 ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZF X0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5D IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVm aW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2Rl ZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZF X0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dF VFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVm aW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhB VkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJ TUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8 ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5l IEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5l IEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZF X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP UktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFO R0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jl c3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAj ZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUg SEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmlu ZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVM TF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5l IElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChf Y18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVD VE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8 ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lU RVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9T UFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9O QU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJ R05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklM RSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2UpCnwgI2RlZmluZSBEQVRBX1NUQVJUIDB4 MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0Nf U0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoq Lwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFp eDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXByZWZpeD08VE9P TFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycg Jy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4n ICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtpdD1sdWNpZCcgJy0td2l0aG91dC1zb3Vu ZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91dC1rZXJiZXJvczUnICctLXdpdGgtZ2lm PW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzJyAnLS1lbmFi bGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4nICctLXdpdGhvdXQtbWFrZWluZm8nICct LWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAnQ0M9PFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGli JyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUnIgp8ICNkZWZpbmUg SEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0Vf TFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2Rl ZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElB TiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9E RUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BS RUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0 IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2Rl ZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVm aW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUg SEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9O QU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdF VFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAg ICAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3Rh dGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2F0aW1lbnNl YykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyNjM4OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMjY0OTogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2F0 aW0uc3RfX3RpbS50dl9uc2VjCmNvbmZpZ3VyZToyMjY0OTogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0 LmM6MjMwOjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0 X2F0aW0nCiBpZiAoYWNfYWdnci5zdF9hdGltLnN0X190aW0udHZfbnNlYykKICAgICAgICAgICAg Xgpjb25maWd1cmU6MjI2NDk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQu MyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdF ICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElN SVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9U RVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJN U0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAx CnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2Rl ZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFW RV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNk ZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVm aW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBI QVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAx CnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5l IE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUg SEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZF X0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZF X1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VU TE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwg I2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9S RUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9N S1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElN IDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5l IEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFW RV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZN QUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlT SUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNk ZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmlu ZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUg VEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VU IDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8 ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBI QVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBMT0NB TFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFW RV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZG T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklO VEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJT VEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFN UEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5l IEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJ Q0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNz ZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJF Q1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElT X0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElT X0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9H RVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rl di9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMr KykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRj Iik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHlu YW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBQ RU5ESU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcHRyIC0gKEZJTEUpLT5fYmFzZSkK fCAjZGVmaW5lIERBVEFfU1RBUlQgMHgyMDAwMDAwMAp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAw eDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VU Sk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBVU0c1IC8qKi8KfCAjZGVmaW5lIENP UFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklH VVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19P UFRJT05TICIgJy0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0tZXhlYy1wcmVmaXg9 PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1zeXNjb25mZGlyPTxFVENESVI+JyAnLS1sb2NhbHN0 YXRlZGlyPTxMT0NBTFNUQVRFRElSPicgJy0td2l0aG91dC1wb3AnICctLXdpdGgteC10b29sa2l0 PWx1Y2lkJyAnLS13aXRob3V0LXNvdW5kJyAnLS13aXRob3V0LWtlcmJlcm9zJyAnLS13aXRob3V0 LWtlcmJlcm9zNScgJy0td2l0aC1naWY9bm8nICctLXdpdGgteHBtJyAnLS13aXRob3V0LXRvb2xr aXQtc2Nyb2xsLWJhcnMnICctLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPicg Jy0td2l0aG91dC1tYWtlaW5mbycgJy0tZW5hYmxlLWxpbmstdGltZS1vcHRpbWl6YXRpb24nICdD Qz08VE9PTFNESVI+L2djYy00LjgvYmluL2djYycgJ0NGTEFHUz0tTzMnICdMREZMQUdTPSAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy9saWInICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMvaW5jbHVkZSciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9U T09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2Rl ZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FM TE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8 ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05F RF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5l IEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVf TkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9Q UkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Cnwg CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAo YWNfYWdnci5zdF9hdGltLnN0X190aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjIyNjQ5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzA6 MTk6IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYXRpbScK IGlmIChzaXplb2YgYWNfYWdnci5zdF9hdGltLnN0X190aW0udHZfbnNlYykKICAgICAgICAgICAg ICAgICAgIF4KY29uZmlndXJlOjIyNjQ5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZp bmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBf R05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZp bmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF X1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1Qg MAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwg I2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVm aW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBI QVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5H IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0g MQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVm aW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVy CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwg I2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAj ZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZp bmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBH SUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwg I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9H RVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xT VEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNk ZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZp bmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVm aW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBI QVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwg I2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5V TExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3Vi cHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZp bmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2Rl ZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2Rl ZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBC Uk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJ Q0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsg IWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIv ZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFt ZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNk ZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+ X2Jhc2UpCnwgI2RlZmluZSBEQVRBX1NUQVJUIDB4MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VH X0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhB VkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19D T05GSUdfT1BUSU9OUyAiICctLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMt cHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0t bG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4nICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgt dG9vbGtpdD1sdWNpZCcgJy0td2l0aG91dC1zb3VuZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0t d2l0aG91dC1rZXJiZXJvczUnICctLXdpdGgtZ2lmPW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91 dC10b29sa2l0LXNjcm9sbC1iYXJzJyAnLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQ UEFUSD4nICctLXdpdGhvdXQtbWFrZWluZm8nICctLWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0 aW9uJyAnQ0M9PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFH Uz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zL2luY2x1ZGUnIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUg VVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEg MQp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5l IFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJU T0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwg I2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19H RVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAgICAgICAgICNpbmNsdWRlIDxzeXMvc3Rh dC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7 CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2F0aW0uc3RfX3RpbS50dl9uc2VjKQp8IHJldHVybiAw Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjI2NDk6IHJlc3VsdDogbm8KY29u ZmlndXJlOjIyNjcxOiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQuc3RfYmlydGh0aW1lc3BlYy50 dl9uc2VjCmNvbmZpZ3VyZToyMjY3MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjMwOjEyOiBl cnJvcjogJ3N0cnVjdCBzdGF0NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2JpcnRodGltZXNw ZWMnCiBpZiAoYWNfYWdnci5zdF9iaXJ0aHRpbWVzcGVjLnR2X25zZWMpCiAgICAgICAgICAgIF4K Y29uZmlndXJlOjIyNjcxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V VFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAx CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNF VERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVm aW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8 ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZp bmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVf TElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVm aW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmlu ZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEK fCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFW RV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8 ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBN QUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9H RVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUg SEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9T RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExP Q0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBI QVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhB VkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVD VkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBF RVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtT VEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBI QVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUg SEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVf R0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFL RVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lH TiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwg I2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUg SEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRF Uk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAx CnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAj ZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUg SEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9DQUxU SU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RB VEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBF UlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBI QVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNF ICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2Vz IDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNU T1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19E SVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19B TllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VU X0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYv ZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKysp CnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIp Owp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFt ZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgUEVO RElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2UpCnwg I2RlZmluZSBEQVRBX1NUQVJUIDB4MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgy MDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpN UCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBDT1BZ UklHSFQgIkNvcHlyaWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4i CnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VS QVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BU SU9OUyAiICctLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4PTxU T09MU0RJUj4vZW1hY3MtMjQuMycgJy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxzdGF0 ZWRpcj08TE9DQUxTVEFURURJUj4nICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtpdD1s dWNpZCcgJy0td2l0aG91dC1zb3VuZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91dC1r ZXJiZXJvczUnICctLXdpdGgtZ2lmPW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29sa2l0 LXNjcm9sbC1iYXJzJyAnLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4nICct LXdpdGhvdXQtbWFrZWluZm8nICctLWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAnQ0M9 PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMvbGliJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z L2luY2x1ZGUnIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9P TEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZp bmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExP QyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAj ZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAK fCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5W IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9D TE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05M SVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJF RklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1h aW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3Iuc3Rf YmlydGh0aW1lc3BlYy50dl9uc2VjKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MjI2NzE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzMDoxOTogZXJyb3I6 ICdzdHJ1Y3Qgc3RhdDY0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9iaXJ0aHRpbWVzcGVjJwog aWYgKHNpemVvZiBhY19hZ2dyLnN0X2JpcnRodGltZXNwZWMudHZfbnNlYykKICAgICAgICAgICAg ICAgICAgIF4KY29uZmlndXJlOjIyNjcxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZp bmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBf R05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZp bmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF X1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1Qg MAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwg I2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVm aW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBI QVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5H IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0g MQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVm aW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVy CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwg I2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAj ZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZp bmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBH SUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwg I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9H RVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xT VEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNk ZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZp bmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVm aW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBI QVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwg I2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5V TExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3Vi cHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZp bmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2Rl ZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2Rl ZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBC Uk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJ Q0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsg IWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIv ZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFt ZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNk ZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+ X2Jhc2UpCnwgI2RlZmluZSBEQVRBX1NUQVJUIDB4MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VH X0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhB VkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19D T05GSUdfT1BUSU9OUyAiICctLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMt cHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0t bG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4nICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgt dG9vbGtpdD1sdWNpZCcgJy0td2l0aG91dC1zb3VuZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0t d2l0aG91dC1rZXJiZXJvczUnICctLXdpdGgtZ2lmPW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91 dC10b29sa2l0LXNjcm9sbC1iYXJzJyAnLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQ UEFUSD4nICctLXdpdGhvdXQtbWFrZWluZm8nICctLWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0 aW9uJyAnQ0M9PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFH Uz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9l bWFjcy0yNC4zL2luY2x1ZGUnIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUg VVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEg MQp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5l IFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJU T0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwg I2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19H RVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8 IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNp emVvZiBhY19hZ2dyLnN0X2JpcnRodGltZXNwZWMudHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyNjcxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToy MjY4MjogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2JpcnRodGltZW5zZWMKY29uZmlndXJl OjIyNjgyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzA6MTI6IGVycm9yOiAnc3RydWN0IHN0 YXQ2NCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYmlydGh0aW1lbnNlYycKIGlmIChhY19hZ2dy LnN0X2JpcnRodGltZW5zZWMpCiAgICAgICAgICAgIF4KY29uZmlndXJlOjIyNjgyOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xB UkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9G U0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVm aW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmluZSBIQVZF X1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlh dGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVf WF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEK fCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUg SEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwg I2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUg SEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VU SU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNk ZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVm aW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5l IEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9H RVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dF VExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdE IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVf UkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVP RkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNk ZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhB VkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZG T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lO Rk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3Ry aWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVm aW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFW RV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBT RVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9O QU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElT X0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18p ID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9S WV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJB VElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJ TlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1F X1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05B TFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkg KChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2UpCnwgI2RlZmluZSBEQVRBX1NUQVJUIDB4MjAw MDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUgR0NfU0VU Sk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8 ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAx MyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAi eHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYu MS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXByZWZpeD08VE9PTFNE SVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0t c3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4nICct LXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtpdD1sdWNpZCcgJy0td2l0aG91dC1zb3VuZCcg Jy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91dC1rZXJiZXJvczUnICctLXdpdGgtZ2lmPW5v JyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzJyAnLS1lbmFibGUt bG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4nICctLXdpdGhvdXQtbWFrZWluZm8nICctLWVu YWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAnQ0M9PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliJyAn Q1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUnIgp8ICNkZWZpbmUgSEFW RV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVD SUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmlu ZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAx CnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNM IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJ WCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmlu ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5l IEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFW RV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1F X1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJ TUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAg ICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0 cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3Iuc3RfYmlydGh0aW1lbnNlYykKfCByZXR1 cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyNjgyOiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWlu JzoKY29uZnRlc3QuYzoyMzA6MTk6IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFzIG5vIG1lbWJl ciBuYW1lZCAnc3RfYmlydGh0aW1lbnNlYycKIGlmIChzaXplb2YgYWNfYWdnci5zdF9iaXJ0aHRp bWVuc2VjKQogICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjI2ODI6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJl bWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0Vf RklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JF RU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUg SEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElN IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNh bGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NN IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZF X0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZF X0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmlu ZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElO RSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VO REdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRT UEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNf SU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZ IDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmlu ZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBI QVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9M T0NBTFRJTUVfUiAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9J TkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19G T1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3Rf YXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUg Q0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NP Q0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENI QVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUg cHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVW SUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0g RElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NF UCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmlu ZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9O IGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYg c3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BS SU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19W SUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJ TEUpLT5fcHRyIC0gKEZJTEUpLT5fYmFzZSkKfCAjZGVmaW5lIERBVEFfU1RBUlQgMHgyMDAwMDAw MAp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBf V09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2Rl ZmluZSBVU0c1IC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEzIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVy bS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAu MCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0tcHJlZml4PTxUT09MU0RJUj4v ZW1hY3MtMjQuMycgJy0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1zeXNj b25mZGlyPTxFVENESVI+JyAnLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPicgJy0td2l0 aG91dC1wb3AnICctLXdpdGgteC10b29sa2l0PWx1Y2lkJyAnLS13aXRob3V0LXNvdW5kJyAnLS13 aXRob3V0LWtlcmJlcm9zJyAnLS13aXRob3V0LWtlcmJlcm9zNScgJy0td2l0aC1naWY9bm8nICct LXdpdGgteHBtJyAnLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMnICctLWVuYWJsZS1sb2Nh bGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPicgJy0td2l0aG91dC1tYWtlaW5mbycgJy0tZW5hYmxl LWxpbmstdGltZS1vcHRpbWl6YXRpb24nICdDQz08VE9PTFNESVI+L2djYy00LjgvYmluL2djYycg J0NGTEFHUz0tTzMnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWInICdDUFBG TEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSciCnwgI2RlZmluZSBIQVZFX1hf V0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAx CnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEdO VV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0gg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAj ZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhB VkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRP SU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFW RV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0xJ QlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9J TlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9G REFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgI2lu Y2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0 IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYmlydGh0aW1lbnNlYykKfCBy ZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyNjgyOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToyMjY5MzogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2JpcnRodGlt LnR2X25zZWMKY29uZmlndXJlOjIyNjkzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3Rk PWdudTk5IC1jIC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzA6MTI6 IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYmlydGh0aW0n CiBpZiAoYWNfYWdnci5zdF9iaXJ0aHRpbS50dl9uc2VjKQogICAgICAgICAgICBeCmNvbmZpZ3Vy ZToyMjY5MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEK fCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8 ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1B UCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFT RSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZF X1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5l IEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVf WDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZFX0xJQlhFWFQg MQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVn aXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9Y UE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmlu ZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAx CnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf TE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NF RElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VU U0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8 ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhB VkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRB RERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElU SU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEK fCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8 ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZG VElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VU UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8 ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZF X1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JB TlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAx CnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNI RSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8 ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNk ZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8 ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZV TExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlT IDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9u dWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2Rl ZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAg Jy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZ X1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChf Y18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5U X0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAj ZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZp bmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVm aW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7 CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VU UFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNlKQp8ICNkZWZpbmUg REFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4MjAwMDAwMDAK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNk ZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJD b3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZp bmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJw b3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAn LS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZpeD08VE9PTFNESVI+ L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fsc3RhdGVkaXI9PExP Q0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9bHVjaWQnICct LXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhvdXQta2VyYmVyb3M1 JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9vbGtpdC1zY3JvbGwt YmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+JyAnLS13aXRob3V0 LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicgJ0NDPTxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9l bWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRl JyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8 ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEhBVkVf TUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBX T1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBI QVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmlu ZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2Rl ZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0lH U0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9V VElNQlVGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VU VElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAy IDEKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEK fCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxf CnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgICAgICAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4g KCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3Iuc3RfYmly dGh0aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjIyNjkzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMyAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzA6MTk6IGVycm9yOiAnc3RydWN0 IHN0YXQ2NCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYmlydGh0aW0nCiBpZiAoc2l6ZW9mIGFj X2FnZ3Iuc3RfYmlydGh0aW0udHZfbnNlYykKICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJl OjIyNjkzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJ U1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQ IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNF IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVf WFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUg SEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9Y MTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAx CnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdp c3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQ TSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEK fCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUg SEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9M T0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VE SVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRT SUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFW RV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFE RFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwg I2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZU SU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwg I2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2Rl ZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBI QVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFO VFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEK fCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhB VkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hF IDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwg I2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVM TF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMg MQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251 bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVm aW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAn LycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllf U0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9j XykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNk ZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmlu ZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZp bmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsK fCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQ VVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2UpCnwgI2RlZmluZSBE QVRBX1NUQVJUIDB4MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8 ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2Rl ZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNv cHlyaWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmlu ZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBv d2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICct LXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4v ZW1hY3MtMjQuMycgJy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxzdGF0ZWRpcj08TE9D QUxTVEFURURJUj4nICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtpdD1sdWNpZCcgJy0t d2l0aG91dC1zb3VuZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91dC1rZXJiZXJvczUn ICctLXdpdGgtZ2lmPW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29sa2l0LXNjcm9sbC1i YXJzJyAnLS1lbmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4nICctLXdpdGhvdXQt bWFrZWluZm8nICctLWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAnQ0M9PFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMvbGliJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUn Igp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwg I2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgSEFWRV9N RU5VUyAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIFdP UkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhB VkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9TSUdT RVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VU SU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRU SU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIg MQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8 ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8K fCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KfCAgICAgICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iu c3RfYmlydGh0aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjIyNjkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMjcxMTogY2hlY2tpbmcgZm9y IHdvcmtpbmcgc3RkYWxpZ24uaApjb25maWd1cmU6MjI3NTA6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyMzU6MTg6IGVycm9yOiBzaXplIG9mIGFycmF5 ICd0ZXN0X2RvdWJsZScgaXMgbmVnYXRpdmUKICAgICAgICAgICAgIGNoYXIgdGVzdF9kb3VibGVb YW8gKGRvdWJsZSkgJSBfQWxpZ25vZiAoZG91YmxlKSA9PSAwID8gMSA6IC0xXTsKICAgICAgICAg ICAgICAgICAgXgpjb25maWd1cmU6MjI3NTA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu ZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2Rl ZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5l IF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2Rl ZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElT VCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEK fCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNk ZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5l IEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJ TkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJ TSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTVUgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9Y SU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50 ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwg I2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAx CnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2Rl ZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVf R0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZF X0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEK fCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAx CnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBI QVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5E T00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lO RF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAx CnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8 ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBI QVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVf TFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAx CnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwg I2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2Rl ZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RF VklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAw OyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg Ii9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwg I2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcHRyIC0gKEZJTEUp LT5fYmFzZSkKfCAjZGVmaW5lIERBVEFfU1RBUlQgMHgyMDAwMDAwMAp8ICNkZWZpbmUgREFUQV9T RUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUg SEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBVU0c1IC8qKi8KfCAj ZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR19PUFRJT05TICIgJy0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0tZXhl Yy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1zeXNjb25mZGlyPTxFVENESVI+JyAn LS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPicgJy0td2l0aG91dC1wb3AnICctLXdpdGgt eC10b29sa2l0PWx1Y2lkJyAnLS13aXRob3V0LXNvdW5kJyAnLS13aXRob3V0LWtlcmJlcm9zJyAn LS13aXRob3V0LWtlcmJlcm9zNScgJy0td2l0aC1naWY9bm8nICctLXdpdGgteHBtJyAnLS13aXRo b3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMnICctLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJ U1BQQVRIPicgJy0td2l0aG91dC1tYWtlaW5mbycgJy0tZW5hYmxlLWxpbmstdGltZS1vcHRpbWl6 YXRpb24nICdDQz08VE9PTFNESVI+L2djYy00LjgvYmluL2djYycgJ0NGTEFHUz0tTzMnICdMREZM QUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWInICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMvaW5jbHVkZSciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmlu ZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gx MSAxCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZp bmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NU UlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVf REVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEK fCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVm aW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBf X0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN0ZGFsaWduLmg+CnwgICAgICAgICAgICAgI2luY2x1ZGUgPHN0ZGRlZi5o Pgp8IAp8ICAgICAgICAgICAgIC8qIFRlc3QgdGhhdCBhbGlnbm9mIHlpZWxkcyBhIHJlc3VsdCBj b25zaXN0ZW50IHdpdGggb2Zmc2V0b2YuCnwgICAgICAgICAgICAgICAgVGhpcyBjYXRjaGVzIEdD QyBidWcgNTIwMjMKfCAgICAgICAgICAgICAgICA8aHR0cDovL2djYy5nbnUub3JnL2J1Z3ppbGxh L3Nob3dfYnVnLmNnaT9pZD01MjAyMz4uICAqLwp8ICAgICAgICAgICAgICNpZmRlZiBfX2NwbHVz cGx1cwp8ICAgICAgICAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyB0PiBzdHJ1Y3QgYWxpZ25vZl9o ZWxwZXIgeyBjaGFyIGE7IHQgYjsgfTsKfCAgICAgICAgICAgICAjIGRlZmluZSBhbyh0eXBlKSBv ZmZzZXRvZiAoYWxpZ25vZl9oZWxwZXI8dHlwZT4sIGIpCnwgICAgICAgICAgICAgI2Vsc2UKfCAg ICAgICAgICAgICAjIGRlZmluZSBhbyh0eXBlKSBvZmZzZXRvZiAoc3RydWN0IHsgY2hhciBhOyB0 eXBlIGI7IH0sIGIpCnwgICAgICAgICAgICAgI2VuZGlmCnwgICAgICAgICAgICAgY2hhciB0ZXN0 X2RvdWJsZVthbyAoZG91YmxlKSAlIF9BbGlnbm9mIChkb3VibGUpID09IDAgPyAxIDogLTFdOwp8 ICAgICAgICAgICAgIGNoYXIgdGVzdF9sb25nW2FvIChsb25nIGludCkgJSBfQWxpZ25vZiAobG9u ZyBpbnQpID09IDAgPyAxIDogLTFdOwp8ICAgICAgICAgICAgIGNoYXIgdGVzdF9hbGlnbm9mW2Fs aWdub2YgKGRvdWJsZSkgPT0gX0FsaWdub2YgKGRvdWJsZSkgPyAxIDogLTFdOwp8IAp8ICAgICAg ICAgICAgIC8qIFRlc3QgX0FsaWduYXMgb25seSBvbiBwbGF0Zm9ybXMgd2hlcmUgZ251bGliIGNh biBoZWxwLiAgKi8KfCAgICAgICAgICAgICAjaWYgICAgICAgICAgICAgICAgIChfX0dOVUNfXyB8 fCBfX0lCTUNfXyB8fCBfX0lCTUNQUF9fICAgICAgICAgICAgICAgICAgfHwgMHg1MTEwIDw9IF9f U1VOUFJPX0MgfHwgMTMwMCA8PSBfTVNDX1ZFUikKfCAgICAgICAgICAgICAgIGludCBhbGlnbmFz ICg4KSBhbGlnbmFzX2ludCA9IDE7CnwgICAgICAgICAgICAgICBjaGFyIHRlc3RfYWxpZ25hc1tf QWxpZ25vZiAoYWxpZ25hc19pbnQpID09IDggPyAxIDogLTFdOwp8ICAgICAgICAgICAgICNlbmRp Zgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZToyMjc1NzogcmVzdWx0OiBubwpjb25maWd1cmU6MjI3Nzk6IGNoZWNraW5nIGZvciB2YV9j b3B5CmNvbmZpZ3VyZToyMjgwMDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6MjI4MDA6ICQ/ID0gMApjb25maWd1cmU6MjI4MDg6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyMjk5MDogY2hlY2tpbmcgd2hldGhlciBOVUxMIGNhbiBiZSB1c2VkIGluIGFyYml0 cmFyeSBleHByZXNzaW9ucwpjb25maWd1cmU6MjMwMDg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIzMDA4OiAkPyA9IDAKY29uZmlndXJlOjIzMDE1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MjMzMDc6IGNoZWNraW5nIHdoZXRoZXIgc3RydG9pbWF4IHdv cmtzCmNvbmZpZ3VyZToyMzM2MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJl YWQgID4mNSAKY29uZmlndXJlOjIzMzYxOiAkPyA9IDAKY29uZmlndXJlOjIzMzYxOiAuL2NvbmZ0 ZXN0CmNvbmZpZ3VyZToyMzM2MTogJD8gPSAwCmNvbmZpZ3VyZToyMzM3MjogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjIzNDY4OiBjaGVja2luZyB3aGV0aGVyIHN5bWxpbmsgaGFuZGxlcyB0cmFpbGlu ZyBzbGFzaCBjb3JyZWN0bHkKY29uZmlndXJlOjIzNTAyOiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25m dGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjM1MDI6ICQ/ID0gMApjb25maWd1cmU6 MjM1MDI6IC4vY29uZnRlc3QKY29uZmlndXJlOjIzNTAyOiAkPyA9IDUKY29uZmlndXJlOiBwcm9n cmFtIGV4aXRlZCB3aXRoIHN0YXR1cyA1CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4z Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1J VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZF X0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YUk1T RVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2Rl ZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEK fCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVm aW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNVSAxCnwgI2RlZmluZSBIQVZF X0xJQlhFWFQgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2Rl ZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZp bmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAx CnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhB VkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVf R0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5l IEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVf U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRM T0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUg SEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01L U1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0g MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUg SEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5l IEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1B S0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJ R04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5l IEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBU RVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQg MQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwg I2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIExPQ0FM VElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZF X0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5U RiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNU QVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1Q RVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUg SEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklD RSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3Nl cyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVD VE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNf RElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNf QU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2 L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysr KQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMi KTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5h bWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIFBF TkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wdHIgLSAoRklMRSktPl9iYXNlKQp8 ICNkZWZpbmUgREFUQV9TVEFSVCAweDIwMDAwMDAwCnwgI2RlZmluZSBEQVRBX1NFR19CSVRTIDB4 MjAwMDAwMDAKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRK TVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIFVTRzUgLyoqLwp8ICNkZWZpbmUgQ09Q WVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Igp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdV UkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09Q VElPTlMgIiAnLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1leGVjLXByZWZpeD08 VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLXN5c2NvbmZkaXI9PEVUQ0RJUj4nICctLWxvY2Fsc3Rh dGVkaXI9PExPQ0FMU1RBVEVESVI+JyAnLS13aXRob3V0LXBvcCcgJy0td2l0aC14LXRvb2xraXQ9 bHVjaWQnICctLXdpdGhvdXQtc291bmQnICctLXdpdGhvdXQta2VyYmVyb3MnICctLXdpdGhvdXQt a2VyYmVyb3M1JyAnLS13aXRoLWdpZj1ubycgJy0td2l0aC14cG0nICctLXdpdGhvdXQtdG9vbGtp dC1zY3JvbGwtYmFycycgJy0tZW5hYmxlLWxvY2FsbGlzcHBhdGg9PExPQ0FMTElTUFBBVEg+JyAn LS13aXRob3V0LW1ha2VpbmZvJyAnLS1lbmFibGUtbGluay10aW1lLW9wdGltaXphdGlvbicgJ0ND PTxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjJyAnQ0ZMQUdTPS1PMycgJ0xERkxBR1M9IC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zL2xpYicgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My9pbmNsdWRlJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RP T0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVm aW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwg I2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwg I2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAw CnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVO ViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf Q0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUg SEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9O TElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BS RUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmlu ZSBHTlVMSUJfU0NBTkYgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAKfCBpbnQKfCBtYWluICgp Cnwgewp8IGludCByZXN1bHQgPSAwOwp8ICAgICAgICAgICAgICBpZiAoIXN5bWxpbmsgKCJhIiwg ImNvbmZ0ZXN0LmxpbmsvIikpCnwgICAgICAgICAgICAgICAgcmVzdWx0IHw9IDE7CnwgICAgICAg ICAgICAgIGlmIChzeW1saW5rICgiY29uZnRlc3QuZiIsICJjb25mdGVzdC5sbmsyIikpCnwgICAg ICAgICAgICAgICAgcmVzdWx0IHw9IDI7CnwgICAgICAgICAgICAgIGVsc2UgaWYgKCFzeW1saW5r ICgiYSIsICJjb25mdGVzdC5sbmsyLyIpKQp8ICAgICAgICAgICAgICAgIHJlc3VsdCB8PSA0Owp8 ICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Owp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MjM1MTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjIzNTQ5OiBjaGVja2luZyB3aGV0 aGVyIDxzeXMvc2VsZWN0Lmg+IGlzIHNlbGYtY29udGFpbmVkCmNvbmZpZ3VyZToyMzYyODogcmVz dWx0OiBubwpjb25maWd1cmU6MjM4MzU6IGNoZWNraW5nIGZvciBubGlua190CmNvbmZpZ3VyZToy MzgzNTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzMgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjM4 MzU6ICQ/ID0gMApjb25maWd1cmU6MjM4MzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzMjoy MjogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNpemVv ZiAoKG5saW5rX3QpKSkKICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjIzODM1OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBI QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVm aW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5V TUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kx OE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEK fCAjZGVmaW5lIEhBVkVfTElCWE1VIDEKfCAjZGVmaW5lIEhBVkVfTElCWEVYVCAxCnwgI2RlZmlu ZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5z dGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2Rl ZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5H X0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VS Uk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNk ZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBI QVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0Qg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEK fCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAj ZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUg SEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZT WU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBI QVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZF X0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5l IEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVm aW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBI QVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf TEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBf X3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEK fCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZp bmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2Rl ZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJf RlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVm aW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykg KChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJ UkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZ X0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFN RV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RU WV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5l IFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQo RklMRSkgKChGSUxFKS0+X3B0ciAtIChGSUxFKS0+X2Jhc2UpCnwgI2RlZmluZSBEQVRBX1NUQVJU IDB4MjAwMDAwMDAKfCAjZGVmaW5lIERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAp8ICNkZWZpbmUg R0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cg LyoqLwp8ICNkZWZpbmUgVVNHNSAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAo QykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hF QURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJt LWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXByZWZpeD08 VE9PTFNESVI+L2VtYWNzLTI0LjMnICctLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQu MycgJy0tc3lzY29uZmRpcj08RVRDRElSPicgJy0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJ Uj4nICctLXdpdGhvdXQtcG9wJyAnLS13aXRoLXgtdG9vbGtpdD1sdWNpZCcgJy0td2l0aG91dC1z b3VuZCcgJy0td2l0aG91dC1rZXJiZXJvcycgJy0td2l0aG91dC1rZXJiZXJvczUnICctLXdpdGgt Z2lmPW5vJyAnLS13aXRoLXhwbScgJy0td2l0aG91dC10b29sa2l0LXNjcm9sbC1iYXJzJyAnLS1l bmFibGUtbG9jYWxsaXNwcGF0aD08TE9DQUxMSVNQUEFUSD4nICctLXdpdGhvdXQtbWFrZWluZm8n ICctLWVuYWJsZS1saW5rLXRpbWUtb3B0aW1pemF0aW9uJyAnQ0M9PFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MnICdDRkxBR1M9LU8zJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMv bGliJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUnIgp8ICNkZWZp bmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBV U0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwg I2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VO RElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJP Tl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BU X1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwg I2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8 ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAj ZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZp bmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUg Tl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5l IEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBHTlVMSUJfRlNDQU5GIDEKfCAjZGVmaW5lIEdOVUxJQl9TQ0FORiAxCnwg I2RlZmluZSBteV9zdHJmdGltZSBuc3RyZnRpbWUKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgobmxpbmtfdCkpKQp8IAkgICAgcmV0dXJu IDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMzgzNTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjIzODYzOiBjaGVja2luZyB3aGV0aGVyIGxvY2FsdGltZV9yIGlzIGRlY2xhcmVk CmNvbmZpZ3VyZToyMzg2MzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt YyAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6MjM4NjM6ICQ/ID0gMApjb25maWd1cmU6MjM4NjM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyMzg4MjogY2hlY2tpbmcgd2hldGhlciBsb2NhbHRpbWVfciBpcyBjb21wYXRpYmxlIHdp dGggaXRzIFBPU0lYIHNpZ25hdHVyZQpjb25maWd1cmU6MjM5MDY6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2lu Y2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIzOTA2OiAkPyA9IDAKY29uZmlndXJlOjIz OTE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjM5NTk6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNv bnRhaW5pbmcgdGltZXJfc2V0dGltZQpjb25maWd1cmU6MjM5OTA6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8zICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMzk5MDogJD8gPSAwCmNvbmZp Z3VyZToyNDAwNzogcmVzdWx0OiBub25lIHJlcXVpcmVkCmNvbmZ0ZXN0LmM6MjI4OjIyOiBmYXRh bCBlcnJvcjogZmVhdHVyZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUg PGZlYXR1cmVzLmg+CiAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0 ZWQuCmNvbmZpZ3VyZToyNDAzNjogY2hlY2tpbmcgZm9yIHRpbWVyX3NldHRpbWUKY29uZmlndXJl OjI0MDM2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1PMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25m aWd1cmU6MjQwMzY6ICQ/ID0gMApjb25maWd1cmU6MjQwMzY6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo2OiBjaGVja2luZyB3aGV0aGVyIHN0YXQgaGFuZGxlcyB0cmFpbGluZyBzbGFzaGVzIG9uIGRp cmVjdG9yaWVzCmNvbmZpZ3VyZToyOTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0 aHJlYWQgID4mNSAKY29uZmlndXJlOjI5OiAkPyA9IDAKY29uZmlndXJlOjI5OiAuL2NvbmZ0ZXN0 CmNvbmZpZ3VyZToyOTogJD8gPSAwCmNvbmZpZ3VyZTozOTogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjQxOiBjaGVja2luZyB3aGV0aGVyIHN0YXQgaGFuZGxlcyB0cmFpbGluZyBzbGFzaGVzIG9uIGZp bGVzCmNvbmZpZ3VyZTo4MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt byBjb25mdGVzdCAtTzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSAgLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQg ID4mNSAKY29uZmlndXJlOjgxOiAkPyA9IDAKY29uZmlndXJlOjgxOiAuL2NvbmZ0ZXN0CmNvbmZp Z3VyZTo4MTogJD8gPSAzCmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgMwpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJlbWFjcyAyNC4zIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFS R0VfRklMRVMgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfRkNO VExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1Mg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZT Q1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZp bmUgSEFWRV9MSUJYTVUgMQp8ICNkZWZpbmUgSEFWRV9MSUJYRVhUIDEKfCAjZGVmaW5lIEhBVkVf WElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0 ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9Y X1NNIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBI QVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VU TElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZT RVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0Qg MQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9S RVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9G REFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2Rl ZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFW RV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJp Y3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZp bmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZF X1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNF UENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05B TUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNf REVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykg PT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZ X1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2Rl ZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFU SU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklO VEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVf U1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFM U19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChGSUxFKSAo KEZJTEUpLT5fcHRyIC0gKEZJTEUpLT5fYmFzZSkKfCAjZGVmaW5lIERBVEFfU1RBUlQgMHgyMDAw MDAwMAp8ICNkZWZpbmUgREFUQV9TRUdfQklUUyAweDIwMDAwMDAwCnwgI2RlZmluZSBHQ19TRVRK TVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwg I2RlZmluZSBVU0c1IC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEz IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4 dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4x LjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0tcHJlZml4PTxUT09MU0RJ Uj4vZW1hY3MtMjQuMycgJy0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1z eXNjb25mZGlyPTxFVENESVI+JyAnLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPicgJy0t d2l0aG91dC1wb3AnICctLXdpdGgteC10b29sa2l0PWx1Y2lkJyAnLS13aXRob3V0LXNvdW5kJyAn LS13aXRob3V0LWtlcmJlcm9zJyAnLS13aXRob3V0LWtlcmJlcm9zNScgJy0td2l0aC1naWY9bm8n ICctLXdpdGgteHBtJyAnLS13aXRob3V0LXRvb2xraXQtc2Nyb2xsLWJhcnMnICctLWVuYWJsZS1s b2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPicgJy0td2l0aG91dC1tYWtlaW5mbycgJy0tZW5h YmxlLWxpbmstdGltZS1vcHRpbWl6YXRpb24nICdDQz08VE9PTFNESVI+L2djYy00LjgvYmluL2dj YycgJ0NGTEFHUz0tTzMnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy9saWInICdD UFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZSciCnwgI2RlZmluZSBIQVZF X1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJ RCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5l IEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB X0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEK fCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklY IHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19y ZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5l IEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUg SEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZF X0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVf UE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElN RU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEdOVUxJQl9GU0NBTkYgMQp8ICNkZWZpbmUgR05VTElCX1NDQU5GIDEKfCAjZGVmaW5l IG15X3N0cmZ0aW1lIG5zdHJmdGltZQp8ICNkZWZpbmUgSEFWRV9ERUNMX0xPQ0FMVElNRV9SIDEK fCAjZGVmaW5lIEhBVkVfVElNRVJfU0VUVElNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaW50IHJlc3Vs dCA9IDA7CnwgICAgICAgc3RydWN0IHN0YXQgc3Q7CnwgICAgICAgaWYgKCFzdGF0ICgiY29uZnRl c3QudG1wLyIsICZzdCkpCnwgICAgICAgICByZXN1bHQgfD0gMTsKfCAjaWYgSEFWRV9MU1RBVAp8 ICAgICAgIGlmICghc3RhdCAoImNvbmZ0ZXN0Lmxuay8iLCAmc3QpKQp8ICAgICAgICAgcmVzdWx0 IHw9IDI7CnwgI2VuZGlmCnwgICAgICAgcmV0dXJuIHJlc3VsdDsKfCAKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjkyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNTExODogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5p bmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBm aWxlIHdhcyBleHRlbmRlZCBieSBlbWFjcyBjb25maWcuc3RhdHVzIDI0LjMsIHdoaWNoIHdhcwpn ZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3 YXMKCiAgQ09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJ TktTICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgCgpvbiBh eDMwMDAxCgpjb25maWcuc3RhdHVzOjE3NzY6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6MTc3NjogY3JlYXRpbmcgbGliL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTc3NjogY3JlYXRp bmcgbGliLXNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE3NzY6IGNyZWF0aW5nIG9sZFhNZW51 L01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTc3NjogY3JlYXRpbmcgZG9jL2VtYWNzL01ha2VmaWxl CmNvbmZpZy5zdGF0dXM6MTc3NjogY3JlYXRpbmcgZG9jL21pc2MvTWFrZWZpbGUKY29uZmlnLnN0 YXR1czoxNzc2OiBjcmVhdGluZyBkb2MvbGlzcGludHJvL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6 MTc3NjogY3JlYXRpbmcgZG9jL2xpc3ByZWYvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxNzc2OiBj cmVhdGluZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxNzc2OiBjcmVhdGluZyBsd2xpYi9N YWtlZmlsZQpjb25maWcuc3RhdHVzOjE3NzY6IGNyZWF0aW5nIGxpc3AvTWFrZWZpbGUKY29uZmln LnN0YXR1czoxNzc2OiBjcmVhdGluZyBsZWltL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTc3Njog Y3JlYXRpbmcgbmV4dHN0ZXAvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxNzc2OiBjcmVhdGluZyBh ZG1pbi91bmlkYXRhL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTc3NjogY3JlYXRpbmcgc3JjL2Nv bmZpZy5oCmNvbmZpZy5zdGF0dXM6MTk5NTogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCmNv bmZpZy5zdGF0dXM6MTk5NTogZXhlY3V0aW5nIG1rZGlycyBjb21tYW5kcwpjb25maWcuc3RhdHVz OjE5OTU6IGV4ZWN1dGluZyBlcGF0aHMgY29tbWFuZHMKY29uZmlnLnN0YXR1czoxOTk1OiBleGVj dXRpbmcgZ2RiaW5pdCBjb21tYW5kcwoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBDYWNoZSB2 YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKCmFjX2N2X2J1aWxkPXBvd2VycGMt aWJtLWFpeDYuMS4wLjAKYWNfY3ZfY19iaWdlbmRpYW49eWVzCmFjX2N2X2NfY29tcGlsZXJfZ251 PXllcwphY19jdl9jX2lubGluZT1pbmxpbmUKYWNfY3ZfY19yZXN0cmljdD1fX3Jlc3RyaWN0CmFj X2N2X2Vudl9DQ19zZXQ9c2V0CmFjX2N2X2Vudl9DQ192YWx1ZT08VE9PTFNESVI+L2djYy00Ljgv YmluL2djYwphY19jdl9lbnZfQ0ZMQUdTX3NldD1zZXQKYWNfY3ZfZW52X0NGTEFHU192YWx1ZT0t TzMKYWNfY3ZfZW52X0NQUEZMQUdTX3NldD1zZXQKYWNfY3ZfZW52X0NQUEZMQUdTX3ZhbHVlPScg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMvaW5jbHVkZScKYWNfY3ZfZW52X0NQUF9zZXQ9JycKYWNf Y3ZfZW52X0NQUF92YWx1ZT0nJwphY19jdl9lbnZfTERGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9M REZMQUdTX3ZhbHVlPScgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMvbGliJwphY19jdl9lbnZfTElC U19zZXQ9JycKYWNfY3ZfZW52X0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X1hNS01GX3NldD0nJwph Y19jdl9lbnZfWE1LTUZfdmFsdWU9JycKYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3NldD0nJwphY19j dl9lbnZfYnVpbGRfYWxpYXNfdmFsdWU9JycKYWNfY3ZfZW52X2hvc3RfYWxpYXNfc2V0PScnCmFj X2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPScnCmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfc2V0PScn CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfdmFsdWU9JycKYWNfY3ZfZnVuY19YU2NyZWVuTnVtYmVy T2ZTY3JlZW49eWVzCmFjX2N2X2Z1bmNfWFNjcmVlblJlc291cmNlU3RyaW5nPXllcwphY19jdl9m dW5jX1hybVNldERhdGFiYXNlPXllcwphY19jdl9mdW5jX19fZXhlY3V0YWJsZV9zdGFydD1ubwph Y19jdl9mdW5jX19fZnBlbmRpbmc9bm8KYWNfY3ZfZnVuY19hbGFybT15ZXMKYWNfY3ZfZnVuY19h bGxvY2Ffd29ya3M9eWVzCmFjX2N2X2Z1bmNfY2ZtYWtlcmF3PXllcwphY19jdl9mdW5jX2Nmc2V0 c3BlZWQ9eWVzCmFjX2N2X2Z1bmNfY2xvY2tfZ2V0dGltZT15ZXMKYWNfY3ZfZnVuY19jbG9ja19z ZXR0aW1lPXllcwphY19jdl9mdW5jX2Nsb3NlZGlyPXllcwphY19jdl9mdW5jX2NvcHlzaWduPXll cwphY19jdl9mdW5jX2RpZmZ0aW1lPXllcwphY19jdl9mdW5jX2VuZGdyZW50PXllcwphY19jdl9m dW5jX2VuZHB3ZW50PXllcwphY19jdl9mdW5jX2V1aWRhY2Nlc3M9bm8KYWNfY3ZfZnVuY19mb3Jr PXllcwphY19jdl9mdW5jX2Zvcmtfd29ya3M9eWVzCmFjX2N2X2Z1bmNfZnBhdGhjb25mPXllcwph Y19jdl9mdW5jX2ZyZWVpZmFkZHJzPW5vCmFjX2N2X2Z1bmNfZnN5bmM9eWVzCmFjX2N2X2Z1bmNf ZnV0aW1lbnM9bm8KYWNfY3ZfZnVuY19mdXRpbWVzPW5vCmFjX2N2X2Z1bmNfZnV0aW1lc2F0PW5v CmFjX2N2X2Z1bmNfZ2FpX3N0cmVycm9yPXllcwphY19jdl9mdW5jX2dldF9jdXJyZW50X2Rpcl9u YW1lPXllcwphY19jdl9mdW5jX2dldGFkZHJpbmZvPXllcwphY19jdl9mdW5jX2dldGN3ZD15ZXMK YWNfY3ZfZnVuY19nZXRkZWxpbT15ZXMKYWNfY3ZfZnVuY19nZXRncmVudD15ZXMKYWNfY3ZfZnVu Y19nZXRob3N0bmFtZT15ZXMKYWNfY3ZfZnVuY19nZXRpZmFkZHJzPW5vCmFjX2N2X2Z1bmNfZ2V0 bGluZT15ZXMKYWNfY3ZfZnVuY19nZXRsb2FkYXZnPW5vCmFjX2N2X2Z1bmNfZ2V0cGFnZXNpemU9 eWVzCmFjX2N2X2Z1bmNfZ2V0cGVlcm5hbWU9eWVzCmFjX2N2X2Z1bmNfZ2V0cGdycF92b2lkPXll cwphY19jdl9mdW5jX2dldHB0PW5vCmFjX2N2X2Z1bmNfZ2V0cHdlbnQ9eWVzCmFjX2N2X2Z1bmNf Z2V0cmxpbWl0PXllcwphY19jdl9mdW5jX2dldHJ1c2FnZT15ZXMKYWNfY3ZfZnVuY19nZXRzb2Nr bmFtZT15ZXMKYWNfY3ZfZnVuY19nZXR0aW1lb2ZkYXk9eWVzCmFjX2N2X2Z1bmNfZ2V0d2Q9eWVz CmFjX2N2X2Z1bmNfZ251dGxzX2NlcnRpZmljYXRlX3NldF92ZXJpZnlfZnVuY3Rpb249bm8KYWNf Y3ZfZnVuY19ncmFudHB0PXllcwphY19jdl9mdW5jX2xvY2FsdGltZV9yPXllcwphY19jdl9mdW5j X2xyYW5kNDg9eWVzCmFjX2N2X2Z1bmNfbHN0YXQ9eWVzCmFjX2N2X2Z1bmNfbHV0aW1lcz1ubwph Y19jdl9mdW5jX21rc3RlbXA9eWVzCmFjX2N2X2Z1bmNfbW1hcF9maXhlZF9tYXBwZWQ9eWVzCmFj X2N2X2Z1bmNfbmFub3RpbWU9bm8KYWNfY3ZfZnVuY19wb3NpeF9tZW1hbGlnbj15ZXMKYWNfY3Zf ZnVuY19wb3NpeF9vcGVucHQ9eWVzCmFjX2N2X2Z1bmNfcHNlbGVjdD15ZXMKYWNfY3ZfZnVuY19w dGhyZWFkX3NpZ21hc2s9eWVzCmFjX2N2X2Z1bmNfcmFuZG9tPXllcwphY19jdl9mdW5jX3JlYWRs aW5rPXllcwphY19jdl9mdW5jX3JlYWRsaW5rYXQ9bm8KYWNfY3ZfZnVuY19yZWN2ZnJvbT15ZXMK YWNfY3ZfZnVuY19yaW50PXllcwphY19jdl9mdW5jX3NlbGVjdD15ZXMKYWNfY3ZfZnVuY19zZW5k dG89eWVzCmFjX2N2X2Z1bmNfc2V0aXRpbWVyPXllcwphY19jdl9mdW5jX3NldGxvY2FsZT15ZXMK YWNfY3ZfZnVuY19zZXRwZ2lkPXllcwphY19jdl9mdW5jX3NldHJsaW1pdD15ZXMKYWNfY3ZfZnVu Y19zZXRzaWQ9eWVzCmFjX2N2X2Z1bmNfc2h1dGRvd249eWVzCmFjX2N2X2Z1bmNfc25wcmludGY9 eWVzCmFjX2N2X2Z1bmNfc29ja2V0PXllcwphY19jdl9mdW5jX3N0cnNpZ25hbD15ZXMKYWNfY3Zf ZnVuY19zdHJ0b2ltYXg9eWVzCmFjX2N2X2Z1bmNfc3RydG91bWF4PXllcwphY19jdl9mdW5jX3N5 bWxpbms9eWVzCmFjX2N2X2Z1bmNfc3luYz15ZXMKYWNfY3ZfZnVuY190aW1lcl9zZXR0aW1lPXll cwphY19jdl9mdW5jX3RvdWNobG9jaz1ubwphY19jdl9mdW5jX3R6c2V0PXllcwphY19jdl9mdW5j X3V0aW1lbnNhdD1ubwphY19jdl9mdW5jX3V0aW1lcz15ZXMKYWNfY3ZfZnVuY192Zm9yaz15ZXMK YWNfY3ZfZnVuY192Zm9ya193b3Jrcz15ZXMKYWNfY3ZfaGF2ZV9kZWNsX19fc3lzX3NpZ2xpc3Q9 bm8KYWNfY3ZfaGF2ZV9kZWNsX2dldGVudj15ZXMKYWNfY3ZfaGF2ZV9kZWNsX2dldGxvYWRhdmc9 bm8KYWNfY3ZfaGF2ZV9kZWNsX2xvY2FsdGltZV9yPXllcwphY19jdl9oYXZlX2RlY2xfcG5nX2xv bmdqbXA9eWVzCmFjX2N2X2hhdmVfZGVjbF9zdHJtb2RlPW5vCmFjX2N2X2hhdmVfZGVjbF9zdHJ0 b2ltYXg9eWVzCmFjX2N2X2hhdmVfZGVjbF9zdHJ0b3VtYXg9eWVzCmFjX2N2X2hhdmVfZGVjbF9z eXNfc2lnbGlzdD1ubwphY19jdl9oYXZlX2RlY2xfdHpuYW1lPXllcwphY19jdl9oYXZlX3g9aGF2 ZV94PSd5ZXMJYWNfeF9pbmNsdWRlcz0nXCcnJ1wnJwlhY194X2xpYnJhcmllcz0nXCcnJ1wnCmFj X2N2X2hlYWRlcl9YMTFfU01fU01saWJfaD15ZXMKYWNfY3ZfaGVhZGVyX1gxMV9YZnRfWGZ0X2g9 bm8KYWNfY3ZfaGVhZGVyX1gxMV94cG1faD15ZXMKYWNfY3ZfaGVhZGVyX2FycGFfaW5ldF9oPXll cwphY19jdl9oZWFkZXJfY29mZl9oPW5vCmFjX2N2X2hlYWRlcl9kaXJlbnRfaD15ZXMKYWNfY3Zf aGVhZGVyX2V4ZWNpbmZvX2g9bm8KYWNfY3ZfaGVhZGVyX2ZjbnRsX2g9eWVzCmFjX2N2X2hlYWRl cl9nZXRvcHRfaD1ubwphY19jdl9oZWFkZXJfZ3BtX2g9bm8KYWNfY3ZfaGVhZGVyX2lmYWRkcnNf aD1ubwphY19jdl9oZWFkZXJfaW50dHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX2plcnJvcl9oPXll cwphY19jdl9oZWFkZXJfbGludXhfdmVyc2lvbl9oPW5vCmFjX2N2X2hlYWRlcl9tYWlsbG9ja19o PW5vCmFjX2N2X2hlYWRlcl9tYWxsb2NfbWFsbG9jX2g9bm8KYWNfY3ZfaGVhZGVyX21lbW9yeV9o PXllcwphY19jdl9oZWFkZXJfbWluaXhfY29uZmlnX2g9bm8KYWNfY3ZfaGVhZGVyX25ldF9pZl9k bF9oPXllcwphY19jdl9oZWFkZXJfbmV0X2lmX2g9eWVzCmFjX2N2X2hlYWRlcl9uZXRpbmV0X2lu X2g9eWVzCmFjX2N2X2hlYWRlcl9ubGlzdF9oPXllcwphY19jdl9oZWFkZXJfcG5nX2g9eWVzCmFj X2N2X2hlYWRlcl9wdGhyZWFkX2g9eWVzCmFjX2N2X2hlYWRlcl9wdHlfaD1ubwphY19jdl9oZWFk ZXJfcHdkX2g9eWVzCmFjX2N2X2hlYWRlcl9zdGF0X2Jyb2tlbj1ubwphY19jdl9oZWFkZXJfc3Rk Ym9vbF9oPXllcwphY19jdl9oZWFkZXJfc3RkYz15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGludF9oPXll cwphY19jdl9oZWFkZXJfc3RkaW9fZXh0X2g9bm8KYWNfY3ZfaGVhZGVyX3N0ZGxpYl9oPXllcwph Y19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdzX2g9eWVzCmFjX2N2 X2hlYWRlcl9zeXNfbG9hZGF2Z19oPW5vCmFjX2N2X2hlYWRlcl9zeXNfcGFyYW1faD15ZXMKYWNf Y3ZfaGVhZGVyX3N5c19yZXNvdXJjZV9oPXllcwphY19jdl9oZWFkZXJfc3lzX3NlbGVjdF9oPXll cwphY19jdl9oZWFkZXJfc3lzX3NvY2tldF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3N0YXRfaD15 ZXMKYWNfY3ZfaGVhZGVyX3N5c19zeXN0ZW1pbmZvX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c190aW1l X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c191bl9o PXllcwphY19jdl9oZWFkZXJfc3lzX3V0c25hbWVfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c192bGlt aXRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c193YWl0X2g9eWVzCmFjX2N2X2hlYWRlcl90ZXJtX2g9 eWVzCmFjX2N2X2hlYWRlcl90aWZmaW9faD15ZXMKYWNfY3ZfaGVhZGVyX3RpbWU9eWVzCmFjX2N2 X2hlYWRlcl91bmlzdGRfaD15ZXMKYWNfY3ZfaGVhZGVyX3V0aWxfaD1ubwphY19jdl9oZWFkZXJf dXRpbWVfaD15ZXMKYWNfY3ZfaGVhZGVyX3V0bXBfaD15ZXMKYWNfY3ZfaGVhZGVyX3Zmb3JrX2g9 bm8KYWNfY3ZfaGVhZGVyX3djaGFyX2g9eWVzCmFjX2N2X2hvc3Q9cG93ZXJwYy1pYm0tYWl4Ni4x LjAuMAphY19jdl9saWJfU01fU21jT3BlbkNvbm5lY3Rpb249eWVzCmFjX2N2X2xpYl9YYnNkX21h aW49bm8KYWNfY3ZfbGliX1hleHRfWFNoYXBlUXVlcnlFeHRlbnNpb249eWVzCmFjX2N2X2xpYl9Y bXVfWG11Q29udmVydFN0YW5kYXJkU2VsZWN0aW9uPXllcwphY19jdl9saWJfWHBtX1hwbVJlYWRG aWxlVG9QaXhtYXA9eWVzCmFjX2N2X2xpYl9YcmVuZGVyX1hSZW5kZXJRdWVyeUV4dGVuc2lvbj15 ZXMKYWNfY3ZfbGliX2RuZXRfZG5ldF9udG9hPW5vCmFjX2N2X2xpYl9lbGZfZWxmX2JlZ2luPW5v CmFjX2N2X2xpYl9nZXRsb2FkYXZnX2dldGxvYWRhdmc9bm8KYWNfY3ZfbGliX2pwZWdfanBlZ19k ZXN0cm95X2NvbXByZXNzPXllcwphY19jdl9saWJfa3N0YXRfa3N0YXRfb3Blbj1ubwphY19jdl9s aWJfa3ZtX2t2bV9vcGVuPW5vCmFjX2N2X2xpYl9sb2NrZmlsZV9tYWlsbG9jaz1ubwphY19jdl9s aWJfbV9zcXJ0PXllcwphY19jdl9saWJfbWFpbF9tYWlsbG9jaz1ubwphY19jdl9saWJfcGVyZnN0 YXRfcGVyZnN0YXRfY3B1X3RvdGFsPXllcwphY19jdl9saWJfcG5nX3BuZ19nZXRfY2hhbm5lbHM9 eWVzCmFjX2N2X2xpYl9wdGhyZWFkX3B0aHJlYWRfYXRmb3JrPXllcwphY19jdl9saWJfcHRocmVh ZHNfY21hX29wZW49bm8KYWNfY3ZfbGliX3NlbGludXhfbGdldGZpbGVjb249bm8KYWNfY3ZfbGli X3RpZmZfVElGRkdldFZlcnNpb249eWVzCmFjX2N2X2xpYl91dGlsX2dldGxvYWRhdmc9bm8KYWNf Y3ZfbGliX3htbDJfaHRtbFJlYWRNZW1vcnk9eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFf aWZyX2FkZHI9eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2FkZHJfc2FfbGVuPXll cwphY19jdl9tZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9icm9hZGFkZHI9eWVzCmFjX2N2X21lbWJl cl9zdHJ1Y3RfaWZyZXFfaWZyX2ZsYWdzPXllcwphY19jdl9tZW1iZXJfc3RydWN0X2lmcmVxX2lm cl9od2FkZHI9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9pZnJlcV9pZnJfbmV0bWFzaz1ubwphY19j dl9tZW1iZXJfc3RydWN0X25saXN0X25fdW5fbl9uYW1lPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rf c3RhdF9zdF9hdGltX3N0X190aW1fdHZfbnNlYz1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRf c3RfYXRpbV90dl9uc2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9hdGltZW5zZWM9 bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2F0aW1lc3BlY190dl9uc2VjPW5vCmFjX2N2 X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9iaXJ0aHRpbV90dl9uc2VjPW5vCmFjX2N2X21lbWJlcl9z dHJ1Y3Rfc3RhdF9zdF9iaXJ0aHRpbWVuc2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9z dF9iaXJ0aHRpbWVzcGVjX3R2X25zZWM9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF90bV90bV9nbXRv ZmY9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF90bV90bV96b25lPW5vCmFjX2N2X29iamV4dD1vCmFj X2N2X3BhdGhfRUdSRVA9Jy91c3IvbG9jYWwvYmluL2dyZXAgLUUnCmFjX2N2X3BhdGhfR1JFUD0v dXNyL2xvY2FsL2Jpbi9ncmVwCmFjX2N2X3BhdGhfR1pJUF9QUk9HPS91c3IvbG9jYWwvYmluL2d6 aXAKYWNfY3ZfcGF0aF9JTlNUQUxMX0lORk89L29wdC9mcmVld2FyZS9iaW4vaW5zdGFsbC1pbmZv CmFjX2N2X3BhdGhfTUFLRUlORk89bm8KYWNfY3ZfcGF0aF9QS0dfQ09ORklHPS9iaW4vcGtnLWNv bmZpZwphY19jdl9wYXRoX2luc3RhbGw9Jy9vcHQvZnJlZXdhcmUvYmluL2luc3RhbGwgLWMnCmFj X2N2X3BhdGhfbWtkaXI9L29wdC9mcmVld2FyZS9iaW4vbWtkaXIKYWNfY3ZfcHJvZ19BV0s9bmF3 awphY19jdl9wcm9nX0NQUD0nPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLUUnCmFjX2N2X3By b2dfYWNfY3RfQVI9YXIKYWNfY3ZfcHJvZ19hY19jdF9DQz08VE9PTFNESVI+L2djYy00LjgvYmlu L2djYwphY19jdl9wcm9nX2FjX2N0X1JBTkxJQj1yYW5saWIKYWNfY3ZfcHJvZ19jY19fZmRqX29w dF9nY2NfNF84X2Jpbl9nY2NfY19vPXllcwphY19jdl9wcm9nX2NjX2M4OT0nJwphY19jdl9wcm9n X2NjX2M5OT0tc3RkPWdudTk5CmFjX2N2X3Byb2dfY2NfZz15ZXMKYWNfY3ZfcHJvZ19jY19zdGRj PS1zdGQ9Z251OTkKYWNfY3ZfcHJvZ19saWJsb2NrZmlsZT1ubwphY19jdl9wcm9nX21ha2VfX2Jp bl9nbWFrZV9zZXQ9eWVzCmFjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19fPXllcwph Y19jdl9zZWFyY2hfY2xvY2tfZ2V0dGltZT0nbm9uZSByZXF1aXJlZCcKYWNfY3Zfc2VhcmNoX3Rp bWVyX3NldHRpbWU9J25vbmUgcmVxdWlyZWQnCmFjX2N2X3N0cnVjdF9zdF9kbV9tb2RlPW5vCmFj X2N2X3N0cnVjdF90bT10aW1lLmgKYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9dW5rbm93bgph Y19jdl9zeXNfbGFyZ2VfZmlsZXM9MQphY19jdl9zeXNfbGFyZ2VmaWxlX0NDPW5vCmFjX2N2X3N5 c19sYXJnZWZpbGVfc291cmNlPW5vCmFjX2N2X3N5c19sb25nX2ZpbGVfbmFtZXM9eWVzCmFjX2N2 X3R5cGVfX0Jvb2w9eWVzCmFjX2N2X3R5cGVfbG9uZ19sb25nX2ludD15ZXMKYWNfY3ZfdHlwZV9t YnN0YXRlX3Q9eWVzCmFjX2N2X3R5cGVfbW9kZV90PXllcwphY19jdl90eXBlX25saW5rX3Q9eWVz CmFjX2N2X3R5cGVfcGlkX3Q9eWVzCmFjX2N2X3R5cGVfc2lnaGFuZGxlcl90PW5vCmFjX2N2X3R5 cGVfc2lnc2V0X3Q9eWVzCmFjX2N2X3R5cGVfc29ja2xlbl90PXllcwphY19jdl90eXBlX3Vuc2ln bmVkX2xvbmdfbG9uZ19pbnQ9eWVzCmFjX2N2X3R5cGVfdm9sYXRpbGVfc2lnX2F0b21pY190PXll cwphY19jdl92YXJfdHpuYW1lPXllcwphY19jdl93b3JraW5nX2FsbG9jYV9oPXllcwphbV9jdl9D Q19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1nY2MzCmVtYWNzX2N2X2NfcmVzdHJpY3RfYXJy PXllcwplbWFjc19jdl9mdW5jX19fYnVpbHRpbl91bndpbmRfaW5pdD15ZXMKZW1hY3NfY3ZfZnVu Y19fc2V0am1wPXllcwplbWFjc19jdl9sYW5naW5mb19jb2Rlc2V0PXllcwplbWFjc19jdl9sb2Nh bHRpbWVfY2FjaGU9eWVzCmVtYWNzX2N2X25ldGRiX2RlY2xhcmVzX2hfZXJybm89eWVzCmVtYWNz X2N2X3BlcnNvbmFsaXR5X2xpbnV4MzI9bm8KZW1hY3NfY3Zfc3BlZWRfdD15ZXMKZW1hY3NfY3Zf dXNhYmxlX0ZJT05SRUFEPW5vCmVtYWNzX2N2X3Zhcl9kb3VnX2xlYV9tYWxsb2M9bm8KZW1hY3Nf Y3ZfeDExX3Rvb2xraXRfdmVyc2lvbl82PXllcwplbWFjc19jdl94MTFfdmVyc2lvbl82PXllcwpl bWFjc19jdl94YXczZD1ubwplbWFjc19jdl94YXc9eWVzCmdkYl9jdl9iaWd0b2M9LVdsLC1iYmln dG9jCmdsX2N2X2NfYW1zdGVyZGFtX2NvbXBpbGVyPW5vCmdsX2N2X2NfbXVsdGlhcmNoPW5vCmds X2N2X2RlY2xfbnVsbF93b3Jrcz15ZXMKZ2xfY3ZfZGVjbF9yZWFkbGlua193b3Jrcz1ubwpnbF9j dl9mdW5jX2M5OV9zdHJ0b2xkPXllcwpnbF9jdl9mdW5jX2R1cDJfd29ya3M9eWVzCmdsX2N2X2Z1 bmNfZ2V0dGltZW9mZGF5X2Nsb2JiZXI9bm8KZ2xfY3ZfZnVuY19nZXR0aW1lb2ZkYXlfcG9zaXhf c2lnbmF0dXJlPXllcwpnbF9jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxp bms9bm8KZ2xfY3ZfZnVuY19wc2VsZWN0X2RldGVjdHNfZWJhZGY9eWVzCmdsX2N2X2Z1bmNfcHRo cmVhZF9zaWdtYXNrX2luX2xpYmNfd29ya3M9eWVzCmdsX2N2X2Z1bmNfcHRocmVhZF9zaWdtYXNr X3JldHVybl93b3Jrcz15ZXMKZ2xfY3ZfZnVuY19wdGhyZWFkX3NpZ21hc2tfdW5ibG9ja193b3Jr cz0nZ3Vlc3NpbmcgeWVzJwpnbF9jdl9mdW5jX3JlYWRsaW5rX3dvcmtzPXllcwpnbF9jdl9mdW5j X3N0YXRfZGlyX3NsYXNoPXllcwpnbF9jdl9mdW5jX3N0YXRfZmlsZV9zbGFzaD1ubwpnbF9jdl9m dW5jX3N0cnRvaW1heD15ZXMKZ2xfY3ZfZnVuY19zeW1saW5rX3dvcmtzPW5vCmdsX2N2X2Z1bmNf dmFfY29weT15ZXMKZ2xfY3ZfZnVuY193b3JraW5nX21rdGltZT1ubwpnbF9jdl9mdW5jX3dvcmtp bmdfdXRpbWVzPXllcwpnbF9jdl9oYXZlX2luY2x1ZGVfbmV4dD15ZXMKZ2xfY3ZfaGVhZGVyX3N5 c19zZWxlY3RfaF9zZWxmY29udGFpbmVkPW5vCmdsX2N2X2hlYWRlcl93b3JraW5nX3N0ZGFsaWdu X2g9bm8KZ2xfY3ZfaGVhZGVyX3dvcmtpbmdfc3RkaW50X2g9eWVzCmdsX2N2X25leHRfZ2V0b3B0 X2g9JzxnZXRvcHQuaD4nCmdsX2N2X25leHRfaW50dHlwZXNfaD0nPGludHR5cGVzLmg+JwpnbF9j dl9uZXh0X3NpZ25hbF9oPSc8c2lnbmFsLmg+JwpnbF9jdl9uZXh0X3N0ZGludF9oPSc8c3RkaW50 Lmg+JwpnbF9jdl9uZXh0X3N0ZGlvX2g9JzxzdGRpby5oPicKZ2xfY3ZfbmV4dF9zdGRsaWJfaD0n PHN0ZGxpYi5oPicKZ2xfY3ZfbmV4dF9zeXNfc2VsZWN0X2g9JzxzeXMvc2VsZWN0Lmg+JwpnbF9j dl9uZXh0X3N5c19zdGF0X2g9JzxzeXMvc3RhdC5oPicKZ2xfY3ZfbmV4dF9zeXNfdGltZV9oPSc8 c3lzL3RpbWUuaD4nCmdsX2N2X25leHRfdGltZV9oPSc8dGltZS5oPicKZ2xfY3ZfbmV4dF91bmlz dGRfaD0nPHVuaXN0ZC5oPicKZ2xfY3ZfcHJhZ21hX2NvbHVtbnM9bm8KZ2xfY3ZfcnBsX2FsbG9j YT15ZXMKZ2xfY3Zfc2lnX3BzZWxlY3Q9eWVzCmdsX2N2X3N5c19zdHJ1Y3RfdGltZXNwZWNfaW5f dGltZV9oPXllcwpnbF9jdl9zeXNfc3RydWN0X3RpbWV2YWw9eWVzCmdsX2N2X3N5c19zdHJ1Y3Rf dGltZXZhbF90dl9zZWM9eWVzCmdsX2N2X3N5c19zdHJ1Y3RfdXRpbWJ1Zj15ZXMKZ2xfY3ZfdGlt ZV9yX3Bvc2l4PXllcwpnbF9jdl90eXBlX3NpZ3NldF90PXllcwpndF9jdl9jX3djaGFyX3Q9eWVz Cmd0X2N2X3NzaXplX3Q9eWVzCmd0X2N2X3Zhcl9lbnZpcm9uX2RlY2xhcmF0aW9uPXllcwoKIyMg LS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0t LS0tLS0tLS0gIyMKCkFDTE9DQUw9JyR7U0hFTEx9IDxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy9l bWFjcy0yNC4zL2J1aWxkLWF1eC9taXNzaW5nIC0tcnVuIGFjbG9jYWwtMS4xMScKQUxMT0NBPScn CkFMTE9DQV9IPSdhbGxvY2EuaCcKQUxTQV9DRkxBR1M9JycKQUxTQV9MSUJTPScnCkFNREVQQkFD S1NMQVNIPSdcJwpBTURFUF9GQUxTRT0nIycKQU1ERVBfVFJVRT0nJwpBTVRBUj0nJCR7VEFSLXRh cn0nCkFQUExFX1VOSVZFUlNBTF9CVUlMRD0nMCcKQVI9J2FyJwpBUkZMQUdTPSdjcnUnCkFVVE9D T05GPScke1NIRUxMfSA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMvZW1hY3MtMjQuMy9idWlsZC1h dXgvbWlzc2luZyAtLXJ1biBhdXRvY29uZicKQVVUT0hFQURFUj0nJHtTSEVMTH0gPEhPTUVESVI+ L3NyYy9lbWFjcy8yNC4zL2VtYWNzLTI0LjMvYnVpbGQtYXV4L21pc3NpbmcgLS1ydW4gYXV0b2hl YWRlcicKQVVUT01BS0U9JyR7U0hFTEx9IDxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy9lbWFjcy0y NC4zL2J1aWxkLWF1eC9taXNzaW5nIC0tcnVuIGF1dG9tYWtlLTEuMTEnCkFXSz0nbmF3aycKQklU U0laRU9GX1BUUkRJRkZfVD0nJwpCSVRTSVpFT0ZfU0lHX0FUT01JQ19UPScnCkJJVFNJWkVPRl9T SVpFX1Q9JycKQklUU0laRU9GX1dDSEFSX1Q9JycKQklUU0laRU9GX1dJTlRfVD0nJwpCTEVTU01B SUxfVEFSR0VUPScnCkNBTk5PVF9EVU1QPSdubycKQ0M9JzxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTknCkNDREVQTU9ERT0nZGVwbW9kZT1nY2MzJwpDRkxBR1M9Jy1PMycKQ0ZM QUdTX1NPVU5EPScnCkNPTV9FUlJMSUI9JycKQ1BQPSc8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtRScKQ1BQRkxBR1M9JyAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zL2luY2x1ZGUnCkNSVF9E SVI9JycKQ1JZUFRPTElCPScnCkNZR1BBVEhfVz0nZWNobycKQ1lHV0lOX09CSj0nJwpDX1NXSVRD SF9NQUNISU5FPScnCkNfU1dJVENIX1NZU1RFTT0nJwpDX1NXSVRDSF9YX1NJVEU9JycKREJVU19D RkxBR1M9JycKREJVU19MSUJTPScnCkRCVVNfT0JKPScnCkRFRlM9Jy1ESEFWRV9DT05GSUdfSCcK REVQRElSPScuZGVwcycKREVQRkxBR1M9Jy1NTUQgLU1GICR7REVQRElSfS8kKi5kIC1NUCcKREVT TElCPScnCkVDSE9fQz0nXGMnCkVDSE9fTj0nJwpFQ0hPX1Q9JycKRUdSRVA9Jy91c3IvbG9jYWwv YmluL2dyZXAgLUUnCkVYRUNJTkZPX0g9J2V4ZWNpbmZvLmgnCkVYRUVYVD0nJwpGT05UQ09ORklH X0NGTEFHUz0nLUkvb3B0L2ZyZWV3YXJlL2luY2x1ZGUgICcKRk9OVENPTkZJR19MSUJTPSctTC9v cHQvZnJlZXdhcmUvbGliIC1sZm9udGNvbmZpZyAgJwpGT05UX09CSj0neGZvbnQubycKRlJFRVRZ UEVfQ0ZMQUdTPScnCkZSRUVUWVBFX0xJQlM9JycKR0NPTkZfQ0ZMQUdTPScnCkdDT05GX0xJQlM9 JycKR0VUTE9BREFWR19MSUJTPSctbHBlcmZzdGF0ICcKR0VUT1BUX0g9J2dldG9wdC5oJwpHTF9D T05EX0xJQlRPT0xfRkFMU0U9JycKR0xfQ09ORF9MSUJUT09MX1RSVUU9JyMnCkdMX0dFTkVSQVRF X0FMTE9DQV9IX0ZBTFNFPScjJwpHTF9HRU5FUkFURV9BTExPQ0FfSF9UUlVFPScnCkdMX0dFTkVS QVRFX0VYRUNJTkZPX0hfRkFMU0U9JyMnCkdMX0dFTkVSQVRFX0VYRUNJTkZPX0hfVFJVRT0nJwpH TF9HRU5FUkFURV9TVERBTElHTl9IX0ZBTFNFPScjJwpHTF9HRU5FUkFURV9TVERBTElHTl9IX1RS VUU9JycKR0xfR0VORVJBVEVfU1REQVJHX0hfRkFMU0U9JycKR0xfR0VORVJBVEVfU1REQVJHX0hf VFJVRT0nIycKR0xfR0VORVJBVEVfU1REQk9PTF9IX0ZBTFNFPScnCkdMX0dFTkVSQVRFX1NUREJP T0xfSF9UUlVFPScjJwpHTF9HRU5FUkFURV9TVERERUZfSF9GQUxTRT0nJwpHTF9HRU5FUkFURV9T VERERUZfSF9UUlVFPScjJwpHTF9HRU5FUkFURV9TVERJTlRfSF9GQUxTRT0nJwpHTF9HRU5FUkFU RV9TVERJTlRfSF9UUlVFPScjJwpHTUFMTE9DX09CSj0nZ21hbGxvYy5vJwpHTlVMSUJfQVRPTEw9 JzAnCkdOVUxJQl9DQUxMT0NfUE9TSVg9JzAnCkdOVUxJQl9DQU5PTklDQUxJWkVfRklMRV9OQU1F PScwJwpHTlVMSUJfQ0hESVI9JzAnCkdOVUxJQl9DSE9XTj0nMCcKR05VTElCX0NMT1NFPScwJwpH TlVMSUJfRFBSSU5URj0nMCcKR05VTElCX0RVUDI9JzEnCkdOVUxJQl9EVVAzPScwJwpHTlVMSUJf RFVQPScwJwpHTlVMSUJfRU5WSVJPTj0nMScKR05VTElCX0VVSURBQ0NFU1M9JzAnCkdOVUxJQl9G QUNDRVNTQVQ9JzAnCkdOVUxJQl9GQ0hESVI9JzAnCkdOVUxJQl9GQ0hNT0RBVD0nMCcKR05VTElC X0ZDSE9XTkFUPScwJwpHTlVMSUJfRkNMT1NFPScwJwpHTlVMSUJfRkRBVEFTWU5DPScwJwpHTlVM SUJfRkRPUEVOPScwJwpHTlVMSUJfRkZMVVNIPScwJwpHTlVMSUJfRkdFVEM9JzEnCkdOVUxJQl9G R0VUUz0nMScKR05VTElCX0ZPUEVOPScwJwpHTlVMSUJfRlBSSU5URj0nMScKR05VTElCX0ZQUklO VEZfUE9TSVg9JzAnCkdOVUxJQl9GUFVSR0U9JzAnCkdOVUxJQl9GUFVUQz0nMScKR05VTElCX0ZQ VVRTPScxJwpHTlVMSUJfRlJFQUQ9JzEnCkdOVUxJQl9GUkVPUEVOPScwJwpHTlVMSUJfRlNDQU5G PScxJwpHTlVMSUJfRlNFRUs9JzAnCkdOVUxJQl9GU0VFS089JzAnCkdOVUxJQl9GU1RBVD0nMCcK R05VTElCX0ZTVEFUQVQ9JzAnCkdOVUxJQl9GU1lOQz0nMCcKR05VTElCX0ZURUxMPScwJwpHTlVM SUJfRlRFTExPPScwJwpHTlVMSUJfRlRSVU5DQVRFPScwJwpHTlVMSUJfRlVUSU1FTlM9JzAnCkdO VUxJQl9GV1JJVEU9JzEnCkdOVUxJQl9HRVRDPScxJwpHTlVMSUJfR0VUQ0hBUj0nMScKR05VTElC X0dFVENXRD0nMCcKR05VTElCX0dFVERFTElNPScwJwpHTlVMSUJfR0VURE9NQUlOTkFNRT0nMCcK R05VTElCX0dFVERUQUJMRVNJWkU9JzAnCkdOVUxJQl9HRVRHUk9VUFM9JzAnCkdOVUxJQl9HRVRI T1NUTkFNRT0nMCcKR05VTElCX0dFVExJTkU9JzAnCkdOVUxJQl9HRVRMT0FEQVZHPScxJwpHTlVM SUJfR0VUTE9HSU49JzAnCkdOVUxJQl9HRVRMT0dJTl9SPScwJwpHTlVMSUJfR0VUUEFHRVNJWkU9 JzAnCkdOVUxJQl9HRVRTVUJPUFQ9JzAnCkdOVUxJQl9HRVRUSU1FT0ZEQVk9JzEnCkdOVUxJQl9H RVRVU0VSU0hFTEw9JzAnCkdOVUxJQl9HTF9VTklTVERfSF9HRVRPUFQ9JzEnCkdOVUxJQl9HUkFO VFBUPScwJwpHTlVMSUJfR1JPVVBfTUVNQkVSPScwJwpHTlVMSUJfSU1BWEFCUz0nMCcKR05VTElC X0lNQVhESVY9JzAnCkdOVUxJQl9JU0FUVFk9JzAnCkdOVUxJQl9MQ0hNT0Q9JzAnCkdOVUxJQl9M Q0hPV049JzAnCkdOVUxJQl9MSU5LPScwJwpHTlVMSUJfTElOS0FUPScwJwpHTlVMSUJfTFNFRUs9 JzAnCkdOVUxJQl9MU1RBVD0nMScKR05VTElCX01BTExPQ19QT1NJWD0nMCcKR05VTElCX01CVE9X Qz0nMCcKR05VTElCX01LRElSQVQ9JzAnCkdOVUxJQl9NS0RURU1QPScwJwpHTlVMSUJfTUtGSUZP PScwJwpHTlVMSUJfTUtGSUZPQVQ9JzAnCkdOVUxJQl9NS05PRD0nMCcKR05VTElCX01LTk9EQVQ9 JzAnCkdOVUxJQl9NS09TVEVNUD0nMCcKR05VTElCX01LT1NURU1QUz0nMCcKR05VTElCX01LU1RF TVA9JzAnCkdOVUxJQl9NS1NURU1QUz0nMCcKR05VTElCX01LVElNRT0nMScKR05VTElCX05BTk9T TEVFUD0nMCcKR05VTElCX09CU1RBQ0tfUFJJTlRGPScwJwpHTlVMSUJfT0JTVEFDS19QUklOVEZf UE9TSVg9JzAnCkdOVUxJQl9QQ0xPU0U9JzAnCkdOVUxJQl9QRVJST1I9JzAnCkdOVUxJQl9QSVBF Mj0nMCcKR05VTElCX1BJUEU9JzAnCkdOVUxJQl9QT1BFTj0nMCcKR05VTElCX1BPU0lYX09QRU5Q VD0nMCcKR05VTElCX1BSRUFEPScwJwpHTlVMSUJfUFJJTlRGPScxJwpHTlVMSUJfUFJJTlRGX1BP U0lYPScwJwpHTlVMSUJfUFNFTEVDVD0nMScKR05VTElCX1BUSFJFQURfU0lHTUFTSz0nMScKR05V TElCX1BUU05BTUU9JzAnCkdOVUxJQl9QVFNOQU1FX1I9JzAnCkdOVUxJQl9QVVRDPScxJwpHTlVM SUJfUFVUQ0hBUj0nMScKR05VTElCX1BVVEVOVj0nMCcKR05VTElCX1BVVFM9JzEnCkdOVUxJQl9Q V1JJVEU9JzAnCkdOVUxJQl9SQUlTRT0nMCcKR05VTElCX1JBTkRPTT0nMCcKR05VTElCX1JBTkRP TV9SPScwJwpHTlVMSUJfUkVBRD0nMCcKR05VTElCX1JFQURMSU5LPScxJwpHTlVMSUJfUkVBRExJ TktBVD0nMCcKR05VTElCX1JFQUxMT0NfUE9TSVg9JzAnCkdOVUxJQl9SRUFMUEFUSD0nMCcKR05V TElCX1JFTU9WRT0nMCcKR05VTElCX1JFTkFNRT0nMCcKR05VTElCX1JFTkFNRUFUPScwJwpHTlVM SUJfUk1ESVI9JzAnCkdOVUxJQl9SUE1BVENIPScwJwpHTlVMSUJfU0NBTkY9JzEnCkdOVUxJQl9T RUxFQ1Q9JzAnCkdOVUxJQl9TRVRFTlY9JzAnCkdOVUxJQl9TRVRIT1NUTkFNRT0nMCcKR05VTElC X1NJR0FDVElPTj0nMCcKR05VTElCX1NJR05BTF9IX1NJR1BJUEU9JzAnCkdOVUxJQl9TSUdQUk9D TUFTSz0nMCcKR05VTElCX1NMRUVQPScwJwpHTlVMSUJfU05QUklOVEY9JzAnCkdOVUxJQl9TUFJJ TlRGX1BPU0lYPScwJwpHTlVMSUJfU1RBVD0nMScKR05VTElCX1NURElPX0hfTk9OQkxPQ0tJTkc9 JzAnCkdOVUxJQl9TVERJT19IX1NJR1BJUEU9JzAnCkdOVUxJQl9TVFJQVElNRT0nMCcKR05VTElC X1NUUlRPRD0nMCcKR05VTElCX1NUUlRPSU1BWD0nMScKR05VTElCX1NUUlRPTEw9JzAnCkdOVUxJ Ql9TVFJUT1VMTD0nMCcKR05VTElCX1NUUlRPVU1BWD0nMScKR05VTElCX1NZTUxJTks9JzEnCkdO VUxJQl9TWU1MSU5LQVQ9JzAnCkdOVUxJQl9TWVNURU1fUE9TSVg9JzAnCkdOVUxJQl9USU1FR009 JzAnCkdOVUxJQl9USU1FX1I9JzEnCkdOVUxJQl9UTVBGSUxFPScwJwpHTlVMSUJfVFRZTkFNRV9S PScwJwpHTlVMSUJfVU5JU1REX0hfTk9OQkxPQ0tJTkc9JzAnCkdOVUxJQl9VTklTVERfSF9TSUdQ SVBFPScwJwpHTlVMSUJfVU5MSU5LPScwJwpHTlVMSUJfVU5MSU5LQVQ9JzAnCkdOVUxJQl9VTkxP Q0tQVD0nMCcKR05VTElCX1VOU0VURU5WPScwJwpHTlVMSUJfVVNMRUVQPScwJwpHTlVMSUJfVVRJ TUVOU0FUPScwJwpHTlVMSUJfVkFTUFJJTlRGPScwJwpHTlVMSUJfVkRQUklOVEY9JzAnCkdOVUxJ Ql9WRlBSSU5URj0nMScKR05VTElCX1ZGUFJJTlRGX1BPU0lYPScwJwpHTlVMSUJfVkZTQ0FORj0n MCcKR05VTElCX1ZQUklOVEY9JzEnCkdOVUxJQl9WUFJJTlRGX1BPU0lYPScwJwpHTlVMSUJfVlND QU5GPScwJwpHTlVMSUJfVlNOUFJJTlRGPScwJwpHTlVMSUJfVlNQUklOVEZfUE9TSVg9JzAnCkdO VUxJQl9XQVJOX0NGTEFHUz0nJwpHTlVMSUJfV0NUT01CPScwJwpHTlVMSUJfV1JJVEU9JzAnCkdO VUxJQl9fRVhJVD0nMCcKR05VU1RFUF9DRkxBR1M9JycKR05VX09CSkNfQ0ZMQUdTPScnCkdPQkpF Q1RfQ0ZMQUdTPScnCkdPQkpFQ1RfTElCUz0nJwpHUkVQPScvdXNyL2xvY2FsL2Jpbi9ncmVwJwpH U0VUVElOR1NfQ0ZMQUdTPScnCkdTRVRUSU5HU19MSUJTPScnCkdUS19DRkxBR1M9JycKR1RLX0xJ QlM9JycKR1RLX09CSj0nJwpHWklQX0lORk89J3llcycKR1pJUF9QUk9HPScvdXNyL2xvY2FsL2Jp bi9nemlwJwpIQVZFX0FUT0xMPScxJwpIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUU9JzEnCkhB VkVfQ0hPV049JzEnCkhBVkVfREVDTF9FTlZJUk9OPScxJwpIQVZFX0RFQ0xfRkNIRElSPScxJwpI QVZFX0RFQ0xfRkRBVEFTWU5DPScxJwpIQVZFX0RFQ0xfRlBVUkdFPScxJwpIQVZFX0RFQ0xfRlNF RUtPPScxJwpIQVZFX0RFQ0xfRlRFTExPPScxJwpIQVZFX0RFQ0xfR0VUREVMSU09JzEnCkhBVkVf REVDTF9HRVRET01BSU5OQU1FPScxJwpIQVZFX0RFQ0xfR0VUTElORT0nMScKSEFWRV9ERUNMX0dF VExPQURBVkc9JzAnCkhBVkVfREVDTF9HRVRMT0dJTl9SPScxJwpIQVZFX0RFQ0xfR0VUUEFHRVNJ WkU9JzEnCkhBVkVfREVDTF9HRVRVU0VSU0hFTEw9JzEnCkhBVkVfREVDTF9JTUFYQUJTPScxJwpI QVZFX0RFQ0xfSU1BWERJVj0nMScKSEFWRV9ERUNMX0xPQ0FMVElNRV9SPScxJwpIQVZFX0RFQ0xf T0JTVEFDS19QUklOVEY9JzEnCkhBVkVfREVDTF9TRVRFTlY9JzEnCkhBVkVfREVDTF9TRVRIT1NU TkFNRT0nMScKSEFWRV9ERUNMX1NOUFJJTlRGPScxJwpIQVZFX0RFQ0xfU1RSVE9JTUFYPScxJwpI QVZFX0RFQ0xfU1RSVE9VTUFYPScxJwpIQVZFX0RFQ0xfVFRZTkFNRV9SPScxJwpIQVZFX0RFQ0xf VU5TRVRFTlY9JzEnCkhBVkVfREVDTF9WU05QUklOVEY9JzEnCkhBVkVfRFBSSU5URj0nMScKSEFW RV9EVVAyPScxJwpIQVZFX0RVUDM9JzEnCkhBVkVfRVVJREFDQ0VTUz0nMScKSEFWRV9GQUNDRVNT QVQ9JzEnCkhBVkVfRkNIRElSPScxJwpIQVZFX0ZDSE1PREFUPScxJwpIQVZFX0ZDSE9XTkFUPScx JwpIQVZFX0ZEQVRBU1lOQz0nMScKSEFWRV9GU0VFS089JzEnCkhBVkVfRlNUQVRBVD0nMScKSEFW RV9GU1lOQz0nMScKSEFWRV9GVEVMTE89JzEnCkhBVkVfRlRSVU5DQVRFPScxJwpIQVZFX0ZVVElN RU5TPScxJwpIQVZFX0dFVERUQUJMRVNJWkU9JzEnCkhBVkVfR0VUR1JPVVBTPScxJwpIQVZFX0dF VEhPU1ROQU1FPScxJwpIQVZFX0dFVExPR0lOPScxJwpIQVZFX0dFVE9QVF9IPScwJwpIQVZFX0dF VFBBR0VTSVpFPScxJwpIQVZFX0dFVFNVQk9QVD0nMScKSEFWRV9HRVRUSU1FT0ZEQVk9JzEnCkhB VkVfR1JBTlRQVD0nMScKSEFWRV9HUk9VUF9NRU1CRVI9JzEnCkhBVkVfSU5UVFlQRVNfSD0nMScK SEFWRV9MQ0hNT0Q9JzEnCkhBVkVfTENIT1dOPScxJwpIQVZFX0xJTks9JzEnCkhBVkVfTElOS0FU PScxJwpIQVZFX0xPTkdfTE9OR19JTlQ9JzEnCkhBVkVfTFNUQVQ9JzEnCkhBVkVfTUFLRUlORk89 J25vJwpIQVZFX01LRElSQVQ9JzEnCkhBVkVfTUtEVEVNUD0nMScKSEFWRV9NS0ZJRk89JzEnCkhB VkVfTUtGSUZPQVQ9JzEnCkhBVkVfTUtOT0Q9JzEnCkhBVkVfTUtOT0RBVD0nMScKSEFWRV9NS09T VEVNUD0nMScKSEFWRV9NS09TVEVNUFM9JzEnCkhBVkVfTUtTVEVNUD0nMScKSEFWRV9NS1NURU1Q Uz0nMScKSEFWRV9OQU5PU0xFRVA9JzEnCkhBVkVfT1NfSD0nMCcKSEFWRV9QQ0xPU0U9JzEnCkhB VkVfUElQRTI9JzEnCkhBVkVfUElQRT0nMScKSEFWRV9QT1BFTj0nMScKSEFWRV9QT1NJWF9PUEVO UFQ9JzEnCkhBVkVfUE9TSVhfU0lHTkFMQkxPQ0tJTkc9JzEnCkhBVkVfUFJFQUQ9JzEnCkhBVkVf UFNFTEVDVD0nMScKSEFWRV9QVEhSRUFEX1NJR01BU0s9JzEnCkhBVkVfUFRTTkFNRT0nMScKSEFW RV9QVFNOQU1FX1I9JzEnCkhBVkVfUFdSSVRFPScxJwpIQVZFX1JBSVNFPScxJwpIQVZFX1JBTkRP TT0nMScKSEFWRV9SQU5ET01fSD0nMScKSEFWRV9SQU5ET01fUj0nMScKSEFWRV9SRUFETElOSz0n MScKSEFWRV9SRUFETElOS0FUPScxJwpIQVZFX1JFQUxQQVRIPScxJwpIQVZFX1JFTkFNRUFUPScx JwpIQVZFX1JQTUFUQ0g9JzEnCkhBVkVfU0VURU5WPScxJwpIQVZFX1NFVEhPU1ROQU1FPScxJwpI QVZFX1NJR0FDVElPTj0nMScKSEFWRV9TSUdIQU5ETEVSX1Q9JzAnCkhBVkVfU0lHSU5GT19UPScx JwpIQVZFX1NJR05FRF9TSUdfQVRPTUlDX1Q9JycKSEFWRV9TSUdORURfV0NIQVJfVD0nJwpIQVZF X1NJR05FRF9XSU5UX1Q9JycKSEFWRV9TSUdTRVRfVD0nMScKSEFWRV9TTEVFUD0nMScKSEFWRV9T VERJTlRfSD0nMScKSEFWRV9TVFJQVElNRT0nMScKSEFWRV9TVFJUT0Q9JzEnCkhBVkVfU1RSVE9M TD0nMScKSEFWRV9TVFJUT1VMTD0nMScKSEFWRV9TVFJVQ1RfUkFORE9NX0RBVEE9JzEnCkhBVkVf U1RSVUNUX1NJR0FDVElPTl9TQV9TSUdBQ1RJT049JzEnCkhBVkVfU1RSVUNUX1RJTUVWQUw9JzEn CkhBVkVfU1lNTElOSz0nMScKSEFWRV9TWU1MSU5LQVQ9JzEnCkhBVkVfU1lTX0JJVFlQRVNfSD0n JwpIQVZFX1NZU19JTlRUWVBFU19IPScnCkhBVkVfU1lTX0xPQURBVkdfSD0nMCcKSEFWRV9TWVNf UEFSQU1fSD0nMCcKSEFWRV9TWVNfU0VMRUNUX0g9JzEnCkhBVkVfU1lTX1RJTUVfSD0nMScKSEFW RV9TWVNfVFlQRVNfSD0nMScKSEFWRV9USU1FR009JzEnCkhBVkVfVFlQRV9WT0xBVElMRV9TSUdf QVRPTUlDX1Q9JzEnCkhBVkVfVU5JU1REX0g9JzEnCkhBVkVfVU5MSU5LQVQ9JzEnCkhBVkVfVU5M T0NLUFQ9JzEnCkhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVD0nMScKSEFWRV9VU0xFRVA9JzEn CkhBVkVfVVRJTUVOU0FUPScxJwpIQVZFX1ZBU1BSSU5URj0nMScKSEFWRV9WRFBSSU5URj0nMScK SEFWRV9XQ0hBUl9IPScxJwpIQVZFX1dDSEFSX1Q9JzEnCkhBVkVfV0lOU09DSzJfSD0nMCcKSEFW RV9YU0VSVkVSPScnCkhBVkVfX0JPT0w9JzEnCkhBVkVfX0VYSVQ9JzEnCklNQUdFTUFHSUNLX0NG TEFHUz0nJwpJTUFHRU1BR0lDS19MSUJTPScnCklOQ0xVREVfTkVYVD0naW5jbHVkZV9uZXh0JwpJ TkNMVURFX05FWFRfQVNfRklSU1RfRElSRUNUSVZFPSdpbmNsdWRlX25leHQnCklORk9fRVhUPScu aW5mbycKSU5GT19PUFRTPSctLW5vLXNwbGl0JwpJTlNUQUxMX0FSQ0hfSU5ERVBfRVhUUkE9J2lu c3RhbGwtZXRjJwpJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX0lORk89 Jy9vcHQvZnJlZXdhcmUvYmluL2luc3RhbGwtaW5mbycKSU5TVEFMTF9QUk9HUkFNPScke0lOU1RB TEx9JwpJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxMfScKSU5TVEFMTF9TVFJJUF9QUk9HUkFNPSck KGluc3RhbGxfc2gpIC1jIC1zJwpJTlQzMl9NQVhfTFRfSU5UTUFYX01BWD0nMScKSU5UNjRfTUFY X0VRX0xPTkdfTUFYPSdkZWZpbmVkIF9MUDY0JwpLUkI0TElCPScnCktSQjVMSUI9JycKTERGTEFH Uz0nIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zL2xpYiAtV2wsLWJiaWd0b2MgJwpMRF9GSVJTVEZM QUc9JycKTERfU1dJVENIX1NZU1RFTT0nJwpMRF9TV0lUQ0hfU1lTVEVNX1RFTUFDUz0nLVdsLC1i bm9kZWxjc2VjdCcKTERfU1dJVENIX1hfU0lURT0nJwpMRF9TV0lUQ0hfWF9TSVRFX1JQQVRIPScn CkxJQkdJRj0nJwpMSUJHTlVUTFNfQ0ZMQUdTPScnCkxJQkdOVVRMU19MSUJTPScnCkxJQkdOVV9M SUJERVBTPScnCkxJQkdOVV9MVExJQkRFUFM9JycKTElCR1BNPScnCkxJQkhFU0lPRD0nJwpMSUJJ TlRMPScnCkxJQkpQRUc9Jy1sanBlZycKTElCT0JKUz0nJwpMSUJPVEZfQ0ZMQUdTPScnCkxJQk9U Rl9MSUJTPScnCkxJQlBORz0nLWxwbmcgLWx6IC1sbScKTElCUkVTT0xWPScnCkxJQlM9Jy1sbSAt TC9vcHQvZnJlZXdhcmUvbGliIC1seG1sMiAtbHB0aHJlYWQgLWx6IC1saWNvbnYgLWxtICAgLWxY ZXh0IC1sWG11IC1sWHQgLWxTTSAtbElDRSAgLWxYMTEgLWxwdGhyZWFkIC1scnRzIC1sSU0gLWxp Y29udiAnCkxJQlNFTElOVVhfTElCUz0nJwpMSUJTT1VORD0nJwpMSUJTX0dOVVNURVA9JycKTElC U19NQUlMPScnCkxJQlNfU1lTVEVNPSctbHJ0cyAtbElNIC1saWNvbnYnCkxJQlNfVEVSTUNBUD0n LWxjdXJzZXMnCkxJQlRJRkY9Jy1sdGlmZicKTElCWE1FTlU9JyQoT0xEWE1FTlUpJwpMSUJYTUwy X0NGTEFHUz0nLUkvb3B0L2ZyZWV3YXJlL2luY2x1ZGUvbGlieG1sMiAgJwpMSUJYTUwyX0xJQlM9 Jy1ML29wdC9mcmVld2FyZS9saWIgLWx4bWwyIC1scHRocmVhZCAtbHogLWxpY29udiAtbG0gICcK TElCWE1VPSctbFhtdScKTElCWFBNPSctbFhwbScKTElCWFNNPSctbFNNIC1sSUNFJwpMSUJYVFI2 PSctbFNNIC1sSUNFJwpMSUJYVF9PVEhFUj0nJChMSUJYTVUpIC1sWHQgJChMSUJYVFI2KSAtbFhl eHQnCkxJQlhfT1RIRVI9JyQoTElCWFQpICQoTElCWF9FWFRSQSknCkxJQl9DTE9DS19HRVRUSU1F PScnCkxJQl9FWEVDSU5GTz0nJwpMSUJfR0NDPScnCkxJQl9NQVRIPSctbG0nCkxJQl9QVEhSRUFE PSctbHB0aHJlYWQnCkxJQl9QVEhSRUFEX1NJR01BU0s9JycKTElCX1NUQU5EQVJEPScnCkxJQl9U SU1FUl9USU1FPScnCkxOX1M9J2xuIC1zJwpMVExJQklOVEw9JycKTFRMSUJPQkpTPScnCk0xN05f RkxUX0NGTEFHUz0nJwpNMTdOX0ZMVF9MSUJTPScnCk1BS0VJTkZPPSdtYWtlaW5mbycKTUtERVBE SVI9JyR7TUtESVJfUH0gJHtERVBESVJ9JwpNS0RJUl9QPScvb3B0L2ZyZWV3YXJlL2Jpbi9ta2Rp ciAtcCcKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfR0VUT1BUX0g9JzxnZXRvcHQuaD4nCk5FWFRf QVNfRklSU1RfRElSRUNUSVZFX0lOVFRZUEVTX0g9JzxpbnR0eXBlcy5oPicKTkVYVF9BU19GSVJT VF9ESVJFQ1RJVkVfU0lHTkFMX0g9JzxzaWduYWwuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZF X1NUREFSR19IPScnCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NURERFRl9IPScnCk5FWFRfQVNf RklSU1RfRElSRUNUSVZFX1NURElOVF9IPSc8c3RkaW50Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVD VElWRV9TVERJT19IPSc8c3RkaW8uaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NURExJQl9I PSc8c3RkbGliLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TWVNfU0VMRUNUX0g9JzxzeXMv c2VsZWN0Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TWVNfU1RBVF9IPSc8c3lzL3N0YXQu aD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NZU19USU1FX0g9JzxzeXMvdGltZS5oPicKTkVY VF9BU19GSVJTVF9ESVJFQ1RJVkVfVElNRV9IPSc8dGltZS5oPicKTkVYVF9BU19GSVJTVF9ESVJF Q1RJVkVfVU5JU1REX0g9Jzx1bmlzdGQuaD4nCk5FWFRfR0VUT1BUX0g9JzxnZXRvcHQuaD4nCk5F WFRfSU5UVFlQRVNfSD0nPGludHR5cGVzLmg+JwpORVhUX1NJR05BTF9IPSc8c2lnbmFsLmg+JwpO RVhUX1NUREFSR19IPSc8c3RkYXJnLmg+JwpORVhUX1NURERFRl9IPScnCk5FWFRfU1RESU5UX0g9 JzxzdGRpbnQuaD4nCk5FWFRfU1RESU9fSD0nPHN0ZGlvLmg+JwpORVhUX1NURExJQl9IPSc8c3Rk bGliLmg+JwpORVhUX1NZU19TRUxFQ1RfSD0nPHN5cy9zZWxlY3QuaD4nCk5FWFRfU1lTX1NUQVRf SD0nPHN5cy9zdGF0Lmg+JwpORVhUX1NZU19USU1FX0g9JzxzeXMvdGltZS5oPicKTkVYVF9USU1F X0g9Jzx0aW1lLmg+JwpORVhUX1VOSVNURF9IPSc8dW5pc3RkLmg+JwpOU19PQko9JycKTlNfT0JK Q19PQko9JycKT0JKRVhUPSdvJwpPTERYTUVOVT0nJHtsd2xpYmRpcn0vbGlibHcuYScKT0xEWE1F TlVfREVQUz0nJHtPTERYTUVOVX0gLi4vc3JjLyR7T0xEWE1FTlV9JwpPTERYTUVOVV9UQVJHRVQ9 J3JlYWxseS1sd2xpYicKT1RIRVJfRklMRVM9JycKUEFDS0FHRT0nZW1hY3MnClBBQ0tBR0VfQlVH UkVQT1JUPScnClBBQ0tBR0VfTkFNRT0nZW1hY3MnClBBQ0tBR0VfU1RSSU5HPSdlbWFjcyAyNC4z JwpQQUNLQUdFX1RBUk5BTUU9J2VtYWNzJwpQQUNLQUdFX1VSTD0nJwpQQUNLQUdFX1ZFUlNJT049 JzI0LjMnClBBVEhfU0VQQVJBVE9SPSc6JwpQQVhDVEw9JycKUEtHX0NPTkZJRz0nL2Jpbi9wa2ct Y29uZmlnJwpQT1NUX0FMTE9DX09CSj0nJwpQUkFHTUFfQ09MVU1OUz0nJwpQUkFHTUFfU1lTVEVN X0hFQURFUj0nI3ByYWdtYSBHQ0Mgc3lzdGVtX2hlYWRlcicKUFJFX0FMTE9DX09CSj0nbGFzdGZp bGUubycKUFJJUFRSX1BSRUZJWD0nX19QUklQVFJfUFJFRklYJwpQUklfTUFDUk9TX0JST0tFTj0n MCcKUFJPRklMSU5HX0NGTEFHUz0nJwpQVEhSRUFEX0hfREVGSU5FU19TVFJVQ1RfVElNRVNQRUM9 JzAnClBUUkRJRkZfVF9TVUZGSVg9JycKUkFMTE9DX09CSj0ncmFsbG9jLm8nClJBTkxJQj0ncmFu bGliJwpSRVBMQUNFX0NBTExPQz0nMCcKUkVQTEFDRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FPScw JwpSRVBMQUNFX0NIT1dOPScwJwpSRVBMQUNFX0NMT1NFPScwJwpSRVBMQUNFX0RQUklOVEY9JzAn ClJFUExBQ0VfRFVQMj0nMCcKUkVQTEFDRV9EVVA9JzAnClJFUExBQ0VfRkNIT1dOQVQ9JzAnClJF UExBQ0VfRkNMT1NFPScwJwpSRVBMQUNFX0ZET1BFTj0nMCcKUkVQTEFDRV9GRkxVU0g9JzAnClJF UExBQ0VfRk9QRU49JzAnClJFUExBQ0VfRlBSSU5URj0nMCcKUkVQTEFDRV9GUFVSR0U9JzAnClJF UExBQ0VfRlJFT1BFTj0nMCcKUkVQTEFDRV9GU0VFSz0nMCcKUkVQTEFDRV9GU0VFS089JzAnClJF UExBQ0VfRlNUQVQ9JzAnClJFUExBQ0VfRlNUQVRBVD0nMCcKUkVQTEFDRV9GVEVMTD0nMCcKUkVQ TEFDRV9GVEVMTE89JzAnClJFUExBQ0VfRlRSVU5DQVRFPScwJwpSRVBMQUNFX0ZVVElNRU5TPScw JwpSRVBMQUNFX0dFVENXRD0nMCcKUkVQTEFDRV9HRVRERUxJTT0nMCcKUkVQTEFDRV9HRVRET01B SU5OQU1FPScwJwpSRVBMQUNFX0dFVEdST1VQUz0nMCcKUkVQTEFDRV9HRVRMSU5FPScwJwpSRVBM QUNFX0dFVExPR0lOX1I9JzAnClJFUExBQ0VfR0VUUEFHRVNJWkU9JzAnClJFUExBQ0VfR0VUVElN RU9GREFZPScwJwpSRVBMQUNFX0lTQVRUWT0nMCcKUkVQTEFDRV9MQ0hPV049JzAnClJFUExBQ0Vf TElOSz0nMCcKUkVQTEFDRV9MSU5LQVQ9JzAnClJFUExBQ0VfTE9DQUxUSU1FX1I9JzAnClJFUExB Q0VfTFNFRUs9JzAnClJFUExBQ0VfTFNUQVQ9JzEnClJFUExBQ0VfTUFMTE9DPScwJwpSRVBMQUNF X01CVE9XQz0nMCcKUkVQTEFDRV9NS0RJUj0nMCcKUkVQTEFDRV9NS0ZJRk89JzAnClJFUExBQ0Vf TUtOT0Q9JzAnClJFUExBQ0VfTUtTVEVNUD0nMCcKUkVQTEFDRV9NS1RJTUU9JzEnClJFUExBQ0Vf TkFOT1NMRUVQPSdHTlVMSUJfUE9SVENIRUNLJwpSRVBMQUNFX05VTEw9JzAnClJFUExBQ0VfT0JT VEFDS19QUklOVEY9JzAnClJFUExBQ0VfUEVSUk9SPScwJwpSRVBMQUNFX1BPUEVOPScwJwpSRVBM QUNFX1BSRUFEPScwJwpSRVBMQUNFX1BSSU5URj0nMCcKUkVQTEFDRV9QU0VMRUNUPScwJwpSRVBM QUNFX1BUSFJFQURfU0lHTUFTSz0nMScKUkVQTEFDRV9QVFNOQU1FPScwJwpSRVBMQUNFX1BUU05B TUVfUj0nMCcKUkVQTEFDRV9QVVRFTlY9JzAnClJFUExBQ0VfUFdSSVRFPScwJwpSRVBMQUNFX1JB SVNFPScwJwpSRVBMQUNFX1JBTkRPTV9SPScwJwpSRVBMQUNFX1JFQUQ9JzAnClJFUExBQ0VfUkVB RExJTks9JzEnClJFUExBQ0VfUkVBTExPQz0nMCcKUkVQTEFDRV9SRUFMUEFUSD0nMCcKUkVQTEFD RV9SRU1PVkU9JzAnClJFUExBQ0VfUkVOQU1FPScwJwpSRVBMQUNFX1JFTkFNRUFUPScwJwpSRVBM QUNFX1JNRElSPScwJwpSRVBMQUNFX1NFTEVDVD0nMCcKUkVQTEFDRV9TRVRFTlY9JzAnClJFUExB Q0VfU0xFRVA9JzAnClJFUExBQ0VfU05QUklOVEY9JzAnClJFUExBQ0VfU1BSSU5URj0nMCcKUkVQ TEFDRV9TVEFUPScxJwpSRVBMQUNFX1NURElPX1JFQURfRlVOQ1M9JzAnClJFUExBQ0VfU1RESU9f V1JJVEVfRlVOQ1M9JzAnClJFUExBQ0VfU1RSVE9EPScwJwpSRVBMQUNFX1NUUlRPSU1BWD0nMCcK UkVQTEFDRV9TVFJVQ1RfVElNRVZBTD0nMCcKUkVQTEFDRV9TWU1MSU5LPScxJwpSRVBMQUNFX1RJ TUVHTT0nR05VTElCX1BPUlRDSEVDSycKUkVQTEFDRV9UTVBGSUxFPScwJwpSRVBMQUNFX1RUWU5B TUVfUj0nMCcKUkVQTEFDRV9VTkxJTks9JzAnClJFUExBQ0VfVU5MSU5LQVQ9JzAnClJFUExBQ0Vf VU5TRVRFTlY9JzAnClJFUExBQ0VfVVNMRUVQPScwJwpSRVBMQUNFX1VUSU1FTlNBVD0nMCcKUkVQ TEFDRV9WQVNQUklOVEY9JzAnClJFUExBQ0VfVkRQUklOVEY9JzAnClJFUExBQ0VfVkZQUklOVEY9 JzAnClJFUExBQ0VfVlBSSU5URj0nMCcKUkVQTEFDRV9WU05QUklOVEY9JzAnClJFUExBQ0VfVlNQ UklOVEY9JzAnClJFUExBQ0VfV0NUT01CPScwJwpSRVBMQUNFX1dSSVRFPScwJwpSU1ZHX0NGTEFH Uz0nJwpSU1ZHX0xJQlM9JycKU0VUVElOR1NfQ0ZMQUdTPScnClNFVFRJTkdTX0xJQlM9JycKU0VU X01BS0U9JycKU0hFTEw9Jy9iaW4vc2gnClNJR19BVE9NSUNfVF9TVUZGSVg9JycKU0laRV9UX1NV RkZJWD0nJwpTVEFSVF9GSUxFUz0nJwpTVERBTElHTl9IPSdzdGRhbGlnbi5oJwpTVERBUkdfSD0n JwpTVERCT09MX0g9JycKU1REREVGX0g9JycKU1RESU5UX0g9JycKU1RSSVA9JycKU1VCRElSX01B S0VGSUxFU19JTj0nICQoc3JjZGlyKS9saWIvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2xpYi1zcmMv TWFrZWZpbGUuaW4gJChzcmNkaXIpL29sZFhNZW51L01ha2VmaWxlLmluICQoc3JjZGlyKS9kb2Mv ZW1hY3MvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2RvYy9taXNjL01ha2VmaWxlLmluICQoc3JjZGly KS9kb2MvbGlzcGludHJvL01ha2VmaWxlLmluICQoc3JjZGlyKS9kb2MvbGlzcHJlZi9NYWtlZmls ZS5pbiAkKHNyY2Rpcikvc3JjL01ha2VmaWxlLmluICQoc3JjZGlyKS9sd2xpYi9NYWtlZmlsZS5p biAkKHNyY2RpcikvbGlzcC9NYWtlZmlsZS5pbiAkKHNyY2RpcikvbGVpbS9NYWtlZmlsZS5pbiAk KHNyY2RpcikvbmV4dHN0ZXAvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2FkbWluL3VuaWRhdGEvTWFr ZWZpbGUuaW4nClNZU19USU1FX0hfREVGSU5FU19TVFJVQ1RfVElNRVNQRUM9JzAnClRFUk1DQVBf T0JKPSd0ZXJtaW5mby5vJwpUSU1FX0hfREVGSU5FU19TVFJVQ1RfVElNRVNQRUM9JzEnClRPT0xL SVRfTElCVz0nLWxYYXcnClVJTlQzMl9NQVhfTFRfVUlOVE1BWF9NQVg9JzEnClVJTlQ2NF9NQVhf RVFfVUxPTkdfTUFYPSdkZWZpbmVkIF9MUDY0JwpVTkVYRUNfT0JKPSd1bmV4YWl4Lm8nClVOSVNU RF9IX0hBVkVfV0lOU09DSzJfSD0nMCcKVU5JU1REX0hfSEFWRV9XSU5TT0NLMl9IX0FORF9VU0Vf U09DS0VUUz0nMCcKVkVSU0lPTj0nMjQuMycKVk1MSU1JVF9PQko9J3ZtLWxpbWl0Lm8nClczMl9M SUJTPScnClczMl9PQko9JycKV0FSTl9DRkxBR1M9JycKV0NIQVJfVF9TVUZGSVg9JycKV0VSUk9S X0NGTEFHUz0nJwpXSURHRVRfT0JKPSd3aWRnZXQubycKV0lORE9XU182NF9CSVRfT0ZGX1Q9JzAn CldJTkRPV1NfNjRfQklUX1NUX1NJWkU9JzAnCldJTkRPV19TWVNURU1fT0JKPSdmb250c2V0Lm8g ZnJpbmdlLm8gaW1hZ2UubycKV0lOVF9UX1NVRkZJWD0nJwpYRlRfQ0ZMQUdTPSctRFhUSFJFQURT IC1JL29wdC9mcmVld2FyZS9pbmNsdWRlIC1JL3VzZXJzMy9vbGl2YXAvc2IvcDY0L2V4cG9ydC9w b3dlcl81MTBfMzIvdXNyL2luY2x1ZGUgLUkvdXNlcnMzL29saXZhcC9zYi9wNjQvZXhwb3J0L3Bv d2VyXzUxMF8zMi91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNlcnMzL29saXZhcC9zYi9wNjQv ZXhwb3J0L3Bvd2VyXzUxMF8zMi91c3IvaW5jbHVkZS9YMTEvZXh0ZW5zaW9ucy8gICcKWEZUX0xJ QlM9Jy1sWHJlbmRlciAtTC9vcHQvZnJlZXdhcmUvbGliIC1ML3VzZXJzMy9vbGl2YXAvc2IvcDY0 L2V4cG9ydC9wb3dlcl81MTBfMzIvdXNyL2xpYiAtTC91c2VyczMvb2xpdmFwL3NiL3A2NC9leHBv cnQvcG93ZXJfNTEwXzMyL3Vzci9saWIvIC1sWGZ0IC1sZnJlZXR5cGUgLWx6IC1sWHJlbmRlciAt bFgxMSAtbGZvbnRjb25maWcgICcKWE1FTlVfT0JKPSd4bWVudS5vJwpYTUtNRj0nJwpYT0JKPSd4 dGVybS5vIHhmbnMubyB4c2VsZWN0Lm8geHJkYi5vIHhzbWZucy5vIHhzZXR0aW5ncy5vIHhnc2Vs ZWN0Lm8nClhfVE9PTEtJVF9UWVBFPSdMVUNJRCcKYWNfY3RfQ0M9JzxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjJwphbV9fRVhFRVhUX0ZBTFNFPScnCmFtX19FWEVFWFRfVFJVRT0nIycKYW1fX2Zh c3RkZXBDQ19GQUxTRT0nIycKYW1fX2Zhc3RkZXBDQ19UUlVFPScnCmFtX19pbmNsdWRlPSdpbmNs dWRlJwphbV9faXNyYz0nJwphbV9fbGVhZGluZ19kb3Q9Jy4nCmFtX19ub2RlcD0nX25vJwphbV9f cXVvdGU9JycKYW1fX3Rhcj0nJCR7VEFSLXRhcn0gY2hvZiAtICIkJHRhcmRpciInCmFtX191bnRh cj0nJCR7VEFSLXRhcn0geGYgLScKYXJjaGxpYmRpcj0nJHtsaWJleGVjZGlyfS9lbWFjcy8ke3Zl cnNpb259LyR7Y29uZmlndXJhdGlvbn0nCmJpbmRpcj0nJHtleGVjX3ByZWZpeH0vYmluJwpiaXRt YXBkaXI9Jy91c3IvaW5jbHVkZS9YMTEvYml0bWFwcycKYnVpbGQ9J3Bvd2VycGMtaWJtLWFpeDYu MS4wLjAnCmJ1aWxkX2FsaWFzPScnCmJ1aWxkX2NwdT0ncG93ZXJwYycKYnVpbGRfb3M9J2FpeDYu MS4wLjAnCmJ1aWxkX3ZlbmRvcj0naWJtJwpjYWNoZV9maWxlPScvZGV2L251bGwnCmNhbm9uaWNh bD0ncG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCcKY29uZmlndXJhdGlvbj0ncG93ZXJwYy1pYm0tYWl4 Ni4xLjAuMCcKY29weXJpZ2h0PSdDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuJwpkYXRhZGlyPScke2RhdGFyb290ZGlyfScKZGF0YXJvb3RkaXI9JyR7cHJl Zml4fS9zaGFyZScKZG9jZGlyPScke2RhdGFkaXJ9L2VtYWNzLyR7dmVyc2lvbn0vZXRjJwpkdmlk aXI9JyR7ZG9jZGlyfScKZXRjZGlyPScke2RhdGFkaXJ9L2VtYWNzLyR7dmVyc2lvbn0vZXRjJwpl eGVjX3ByZWZpeD0nPFRPT0xTRElSPi9lbWFjcy0yNC4zJwpnYW1lZGlyPScke2xvY2Fsc3RhdGVk aXJ9L2dhbWVzL2VtYWNzJwpnYW1ldXNlcj0nZ2FtZXMnCmdsX0dOVUxJQl9FTkFCTEVEX2JlNDUz Y2VjNWVlY2Y1NzMxYTI3NGYyZGU3ZjJkYjM2X0ZBTFNFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF9i ZTQ1M2NlYzVlZWNmNTczMWEyNzRmMmRlN2YyZGIzNl9UUlVFPScnCmdsX0dOVUxJQl9FTkFCTEVE X2Rvc25hbWVfRkFMU0U9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX2Rvc25hbWVfVFJVRT0nJwpnbF9H TlVMSUJfRU5BQkxFRF9wYXRobWF4X0ZBTFNFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF9wYXRobWF4 X1RSVUU9JycKZ2xfR05VTElCX0VOQUJMRURfc3RhdF9GQUxTRT0nIycKZ2xfR05VTElCX0VOQUJM RURfc3RhdF9UUlVFPScnCmdsX0dOVUxJQl9FTkFCTEVEX3N0cnRvbGxfRkFMU0U9JycKZ2xfR05V TElCX0VOQUJMRURfc3RydG9sbF9UUlVFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF9zdHJ0b3VsbF9G QUxTRT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9zdHJ0b3VsbF9UUlVFPScjJwpnbF9HTlVMSUJfRU5B QkxFRF92ZXJpZnlfRkFMU0U9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX3ZlcmlmeV9UUlVFPScnCmds X0xJQk9CSlM9JyBleGVjaW5mby5vIGdldGxvYWRhdmcubyBnZXRvcHQubyBnZXRvcHQxLm8gbHN0 YXQubyBta3RpbWUubyBwdGhyZWFkX3NpZ21hc2subyByZWFkbGluay5vIHN0YXQubyBzeW1saW5r Lm8nCmdsX0xUTElCT0JKUz0nIGV4ZWNpbmZvLmxvIGdldGxvYWRhdmcubG8gZ2V0b3B0LmxvIGdl dG9wdDEubG8gbHN0YXQubG8gbWt0aW1lLmxvIHB0aHJlYWRfc2lnbWFzay5sbyByZWFkbGluay5s byBzdGF0LmxvIHN5bWxpbmsubG8nCmdsdGVzdHNfTElCT0JKUz0nJwpnbHRlc3RzX0xUTElCT0JK Uz0nJwpnbHRlc3RzX1dJVE5FU1M9J0lOX0VNQUNTX0dOVUxJQl9URVNUUycKaG9zdD0ncG93ZXJw Yy1pYm0tYWl4Ni4xLjAuMCcKaG9zdF9hbGlhcz0nJwpob3N0X2NwdT0ncG93ZXJwYycKaG9zdF9v cz0nYWl4Ni4xLjAuMCcKaG9zdF92ZW5kb3I9J2libScKaHRtbGRpcj0nJHtkb2NkaXJ9JwppbmNs dWRlZGlyPScke3ByZWZpeH0vaW5jbHVkZScKaW5mb2Rpcj0nJHtkYXRhcm9vdGRpcn0vaW5mbycK aW5zdGFsbF9zaD0nJHtTSEVMTH0gPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zL2VtYWNzLTI0LjMv YnVpbGQtYXV4L2luc3RhbGwtc2gnCmxlaW1kaXI9JyR7ZGF0YWRpcn0vZW1hY3MvJHt2ZXJzaW9u fS9sZWltJwpsaWJkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYicKbGliZXhlY2Rpcj0nJHtleGVjX3By ZWZpeH0vbGliZXhlYycKbGlibG9ja2ZpbGU9J25vJwpsaXNwZGlyPScke2RhdGFkaXJ9L2VtYWNz LyR7dmVyc2lvbn0vbGlzcCcKbGlzcHBhdGg9JyR7bG9jYWxsaXNwcGF0aH06JHtzdGFuZGFyZGxp c3BwYXRofScKbG9jYWxlZGlyPScke2RhdGFyb290ZGlyfS9sb2NhbGUnCmxvY2FsbGlzcHBhdGg9 JzxMT0NBTExJU1BQQVRIPicKbG9jYWxzdGF0ZWRpcj0nPExPQ0FMU1RBVEVESVI+JwptYW5kaXI9 JyR7ZGF0YXJvb3RkaXJ9L21hbicKbWtkaXJfcD0nL29wdC9mcmVld2FyZS9iaW4vbWtkaXIgLXAn Cm5zX2FwcGJpbmRpcj0nJwpuc19hcHBkaXI9JycKbnNfYXBwcmVzZGlyPScnCm5zX2FwcHNyYz0n Jwpuc19zZWxmX2NvbnRhaW5lZD0nbm8nCm9sZGluY2x1ZGVkaXI9Jy91c3IvaW5jbHVkZScKcGRm ZGlyPScke2RvY2Rpcn0nCnByZWZpeD0nPFRPT0xTRElSPi9lbWFjcy0yNC4zJwpwcm9ncmFtX3Ry YW5zZm9ybV9uYW1lPSdzLHgseCwnCnBzZGlyPScke2RvY2Rpcn0nCnNiaW5kaXI9JyR7ZXhlY19w cmVmaXh9L3NiaW4nCnNoYXJlZHN0YXRlZGlyPScke3ByZWZpeH0vY29tJwpzcmNkaXI9JzxIT01F RElSPi9zcmMvZW1hY3MvMjQuMy9lbWFjcy0yNC4zJwpzdGFuZGFyZGxpc3BwYXRoPScke2xpc3Bk aXJ9OiR7bGVpbWRpcn0nCnN5c2NvbmZkaXI9JzxFVENESVI+Jwp0YXJnZXRfYWxpYXM9JycKdmVy c2lvbj0nMjQuMycKeF9kZWZhdWx0X3NlYXJjaF9wYXRoPScvdXNyL3NoYXJlL1gxMS8lTC8lVC8l TiVDJVM6L3Vzci9zaGFyZS9YMTEvJWwvJVQvJU4lQyVTOi91c3Ivc2hhcmUvWDExLyVULyVOJUMl UzovdXNyL3NoYXJlL1gxMS8lTC8lVC8lTiVTOi91c3Ivc2hhcmUvWDExLyVsLyVULyVOJVM6L3Vz ci9zaGFyZS9YMTEvJVQvJU4lUzovdXNyL2xpYi9YMTEvJUwvJVQvJU4lQyVTOi91c3IvbGliL1gx MS8lbC8lVC8lTiVDJVM6L3Vzci9saWIvWDExLyVULyVOJUMlUzovdXNyL2xpYi9YMTEvJUwvJVQv JU4lUzovdXNyL2xpYi9YMTEvJWwvJVQvJU4lUzovdXNyL2xpYi9YMTEvJVQvJU4lUycKCiMjIC0t LS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgRmlsZSBzdWJzdGl0dXRpb25zLiAjIwojIyAtLS0tLS0t LS0tLS0tLS0tLS0tICMjCgpkZXBzX2ZyYWc9JzxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy9lbWFj cy0yNC4zL3NyYy9hdXRvZGVwcy5taycKbGlzcF9mcmFnPSc8SE9NRURJUj4vc3JjL2VtYWNzLzI0 LjMvZW1hY3MtMjQuMy9zcmMvbGlzcC5taycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNvbmZkZWZz LmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgovKiBjb25mZGVmcy5oICovCiNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgojZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuMyIKI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMyIK I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgojZGVmaW5lIFBBQ0tBR0VfVVJMICIiCiNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCiNkZWZpbmUgVkVSU0lPTiAiMjQuMyIKI2RlZmluZSBTVERDX0hF QURFUlMgMQojZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQojZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCiNkZWZpbmUgSEFWRV9VTklTVERf SCAxCiNkZWZpbmUgX19FWFRFTlNJT05TX18gMQojZGVmaW5lIF9BTExfU09VUkNFIDEKI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKI2RlZmluZSBfR05VX1NPVVJDRSAxCiNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCiNkZWZpbmUgX0xB UkdFX0ZJTEVTIDEKI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4IgojZGVmaW5lIEhBVkVfRkNOVExf SCAxCiNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQojZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQojZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCiNkZWZpbmUgSEFWRV9QV0RfSCAxCiNk ZWZpbmUgSEFWRV9VVE1QX0ggMQojZGVmaW5lIEhBVkVfRElSRU5UX0ggMQojZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKI2RlZmluZSBIQVZFX1NURExJQl9IIDEKI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CiNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCiNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQojZGVmaW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCiNkZWZpbmUgSEFWRV9VVElNRV9IIDEKI2RlZmluZSBIQVZFX1RFUk1fSCAxCiNkZWZp bmUgVElNRV9XSVRIX1NZU19USU1FIDEKI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAoj ZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQojZGVmaW5lIEhBVkVfU1BFRURfVCAxCiNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCiNkZWZpbmUg SEFWRV9ORVRfSUZfRExfSCAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEK I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUiAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJf U0FfTEVOIDEKI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCiNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCiNkZWZpbmUgSEFWRV9NTUFQIDEKI2RlZmluZSBIQVZFX1BUSFJFQUQgMQojZGVm aW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQojZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RS SU5HIDEKI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCiNkZWZpbmUgSEFWRV9Y MTFSNiAxCiNkZWZpbmUgSEFWRV9YX0kxOE4gMQojZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKI2Rl ZmluZSBIQVZFX1gxMVhUUjYgMQojZGVmaW5lIEhBVkVfTElCWE1VIDEKI2RlZmluZSBIQVZFX0xJ QlhFWFQgMQojZGVmaW5lIEhBVkVfWElNIDEKI2RlZmluZSBVU0VfWElNIDEKI2RlZmluZSBYUmVn aXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgojZGVmaW5lIEhBVkVfWFBN IDEKI2RlZmluZSBIQVZFX0pQRUcgMQojZGVmaW5lIEhBVkVfSlBFRyAxCiNkZWZpbmUgSEFWRV9Q TkdfSCAxCiNkZWZpbmUgSEFWRV9QTkcgMQojZGVmaW5lIEhBVkVfVElGRiAxCiNkZWZpbmUgSEFW RV9YX1NNIDEKI2RlZmluZSBIQVZFX0xJQlhNTDIgMQojZGVmaW5lIEhBVkVfSF9FUlJOTyAxCiNk ZWZpbmUgSEFWRV9MSUJNIDEKI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCiNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCiNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCiNkZWZpbmUgSEFWRV9HRVRSVVNB R0UgMQojZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQojZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCiNkZWZpbmUgSEFWRV9TRVRTSUQgMQojZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKI2Rl ZmluZSBIQVZFX1NFTEVDVCAxCiNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCiNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQojZGVmaW5lIEhBVkVfVVRJTUVTIDEKI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCiNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQojZGVmaW5lIEhBVkVfU0VUUEdJRCAxCiNkZWZp bmUgSEFWRV9HRVRDV0QgMQojZGVmaW5lIEhBVkVfU0hVVERPV04gMQojZGVmaW5lIEhBVkVfR0VU QUREUklORk8gMQojZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKI2RlZmluZSBIQVZFX1NFVElUSU1F UiAxCiNkZWZpbmUgSEFWRV9TRU5EVE8gMQojZGVmaW5lIEhBVkVfUkVDVkZST00gMQojZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQojZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQojZGVmaW5lIEhB VkVfR0FJX1NUUkVSUk9SIDEKI2RlZmluZSBIQVZFX01LU1RFTVAgMQojZGVmaW5lIEhBVkVfR0VU TElORSAxCiNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCiNkZWZpbmUgSEFWRV9GU1lOQyAxCiNkZWZp bmUgSEFWRV9TWU5DIDEKI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKI2RlZmluZSBIQVZFX1BPU0lY X01FTUFMSUdOIDEKI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKI2RlZmluZSBIQVZFX0VORFBXRU5U IDEKI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKI2RlZmlu ZSBIQVZFX0NGTUFLRVJBVyAxCiNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKI2RlZmluZSBIQVZF X0NPUFlTSUdOIDEKI2RlZmluZSBIQVZFX0dFVFdEIDEKI2RlZmluZSBIQVZFX1JBTkRPTSAxCiNk ZWZpbmUgSEFWRV9SSU5UIDEKI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCiNk ZWZpbmUgSEFWRV9GU0VFS08gMQojZGVmaW5lIEdFVFBHUlBfVk9JRCAxCiNkZWZpbmUgSEFWRV9H UkFOVFBUIDEKI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCiNkZWZpbmUgVEVSTUlORk8gMQoj ZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQojZGVmaW5lIEhBVkVfVFpTRVQgMQojZGVmaW5lIEhBVkVf R0VUVElNRU9GREFZIDEKI2RlZmluZSBIQVZFX0xTVEFUIDEKI2RlZmluZSBIQVZFX0FMQVJNIDEK I2RlZmluZSBIQVZFX1BTRUxFQ1QgMQojZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCiNkZWZpbmUgSEFW RV9TVFJUT1VNQVggMQojZGVmaW5lIEhBVkVfU1lNTElOSyAxCiNkZWZpbmUgSEFWRV9MT0NBTFRJ TUVfUiAxCiNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKI2RlZmluZSBIQVZFX0lORVRfU09DS0VU UyAxCiNkZWZpbmUgSEFWRV9GT1JLIDEKI2RlZmluZSBIQVZFX1ZGT1JLIDEKI2RlZmluZSBIQVZF X1dPUktJTkdfVkZPUksgMQojZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQojZGVmaW5lIEhBVkVf TUJTVEFURV9UIDEKI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CiNkZWZpbmUgQU1Q RVJTQU5EX0ZVTExfTkFNRSAxCiNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKI2RlZmluZSBIQVZF X1BUWVMgMQojZGVmaW5lIEhBVkVfU09DS0VUUyAxCiNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYv bnVsbCIKI2RlZmluZSBTRVBDSEFSICc6JwojZGVmaW5lIHN1YnByb2Nlc3NlcyAxCiNkZWZpbmUg VVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCiNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKI2Rl ZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAojZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAo KF9jXykgPT0gRElSRUNUT1JZX1NFUCkKI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVD VE9SWV9TRVAgKF9jXykpCiNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKI2Rl ZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCiNkZWZpbmUgUFRZX0lURVJBVElP TiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCiNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBz dHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5U RiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwojZGVmaW5lIFNJR05BTFNfVklBX0NI QVJBQ1RFUlMgMQojZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9w dHIgLSAoRklMRSktPl9iYXNlKQojZGVmaW5lIERBVEFfU1RBUlQgMHgyMDAwMDAwMAojZGVmaW5l IERBVEFfU0VHX0JJVFMgMHgyMDAwMDAwMAojZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCiNkZWZp bmUgSEFWRV9fU0VUSk1QIDEKI2RlZmluZSBVU0cgLyoqLwojZGVmaW5lIFVTRzUgLyoqLwojZGVm aW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLiIKI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgojZGVmaW5lIEVNQUNTX0NPTkZJR19P UFRJT05TICIgJy0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMycgJy0tZXhlYy1wcmVmaXg9 PFRPT0xTRElSPi9lbWFjcy0yNC4zJyAnLS1zeXNjb25mZGlyPTxFVENESVI+JyAnLS1sb2NhbHN0 YXRlZGlyPTxMT0NBTFNUQVRFRElSPicgJy0td2l0aG91dC1wb3AnICctLXdpdGgteC10b29sa2l0 PWx1Y2lkJyAnLS13aXRob3V0LXNvdW5kJyAnLS13aXRob3V0LWtlcmJlcm9zJyAnLS13aXRob3V0 LWtlcmJlcm9zNScgJy0td2l0aC1naWY9bm8nICctLXdpdGgteHBtJyAnLS13aXRob3V0LXRvb2xr aXQtc2Nyb2xsLWJhcnMnICctLWVuYWJsZS1sb2NhbGxpc3BwYXRoPTxMT0NBTExJU1BQQVRIPicg Jy0td2l0aG91dC1tYWtlaW5mbycgJy0tZW5hYmxlLWxpbmstdGltZS1vcHRpbWl6YXRpb24nICdD Qz08VE9PTFNESVI+L2djYy00LjgvYmluL2djYycgJ0NGTEFHUz0tTzMnICdMREZMQUdTPSAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy9saWInICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMvaW5jbHVkZSciCiNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQojZGVmaW5lIFVTRV9YX1RPT0xL SVQgMQojZGVmaW5lIFVTRV9MVUNJRCAxCiNkZWZpbmUgSEFWRV9YMTEgMQojZGVmaW5lIEhBVkVf TUVOVVMgMQojZGVmaW5lIEdOVV9NQUxMT0MgMQojZGVmaW5lIFJFTF9BTExPQyAxCiNkZWZpbmUg SEFWRV9BTExPQ0FfSCAxCiNkZWZpbmUgSEFWRV9BTExPQ0EgMQojZGVmaW5lIFdPUkRTX0JJR0VO RElBTiAxCiNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCiNkZWZpbmUgSEFWRV9FTlZJUk9OX0RF Q0wgMQojZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKI2RlZmluZSBfX0dFVE9QVF9QUkVGSVgg cnBsXwojZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQojZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQojZGVmaW5lIEhBVkVfTE9O R19MT05HX0lOVCAxCiNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCiNkZWZpbmUgSEFWRV9fQk9PTCAx CiNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKI2RlZmlu ZSBIQVZFX1RaTkFNRSAxCiNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCiNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPVU1BWCAxCiNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCiNkZWZpbmUg SEFWRV9TVFJVQ1RfVVRJTUJVRiAxCiNkZWZpbmUgSEFWRV9BTExPQ0EgMQojZGVmaW5lIEhBVkVf Q0xPQ0tfR0VUVElNRSAxCiNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKI2RlZmluZSBIQVZF X0RVUDIgMQojZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQojZGVmaW5lIEhBVkVfTkxJU1RfSCAx CiNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQojZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCiNk ZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCiNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCiNkZWZpbmUgR05VTElCX1NDQU5GIDEKI2Rl ZmluZSBteV9zdHJmdGltZSBuc3RyZnRpbWUKI2RlZmluZSBIQVZFX0RFQ0xfTE9DQUxUSU1FX1Ig MQojZGVmaW5lIEhBVkVfVElNRVJfU0VUVElNRSAxCiNkZWZpbmUgUkVQTEFDRV9GVU5DX1NUQVRf RklMRSAxCiNkZWZpbmUgT1JESU5BUllfTElOSyAxCiNkZWZpbmUgSEFWRV9XSU5ET1dfU1lTVEVN IDEKI2RlZmluZSBIQVZFX01PVVNFIDEKCmNvbmZpZ3VyZTogZXhpdCAwCg== --047d7bdc17a41573d304fa4807ba-- From debbugs-submit-bounces@debbugs.gnu.org Mon May 26 08:30:03 2014 Received: (at 17598) by debbugs.gnu.org; 26 May 2014 12:30:03 +0000 Received: from localhost ([127.0.0.1]:60360 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wou2T-00017s-Gl for submit@debbugs.gnu.org; Mon, 26 May 2014 08:30:02 -0400 Received: from mail-qg0-f41.google.com ([209.85.192.41]:38230) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wou2R-00017f-El for 17598@debbugs.gnu.org; Mon, 26 May 2014 08:30:00 -0400 Received: by mail-qg0-f41.google.com with SMTP id j5so12006950qga.14 for <17598@debbugs.gnu.org>; Mon, 26 May 2014 05:29:53 -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=1B6dri1Pg5LYj3ytrqgGgJqR9ppyEIbHUZ5YcCp/uH4=; b=lcih6QhttnrjmccTnh9y0MNDM9LESoIfSun/FLVNbI503joRsO0ofAST3wCKbpbk+Z Sz4O8o3xzUfXPGV6m4H62cFkhCh0ziWtTEvOtt7li7+JfyigVbyhHo8+jDAFFvKMN65N U3910T1fty6ozVNH3Hv5F9Ov7FxaqNp90NITkNEUJqLblOmuFtIhV89og1IRugfHeENQ 6SBMvLkowpS+ol9yqGHDvnzRuhegAFVcBcpsjH557tfzMDxhx7tPiY549zwe4rIxb6PZ hvzRAtKXshIC8ri5BDkPAE+IIw0POlVGNcdBwKO1mJ7A81+JY/RtTBoCZW7lrXA1iQ9p D2sg== X-Received: by 10.140.22.42 with SMTP id 39mr30488261qgm.63.1401107393776; Mon, 26 May 2014 05:29:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.130.7 with HTTP; Mon, 26 May 2014 05:29:33 -0700 (PDT) From: Gilles Pion Date: Mon, 26 May 2014 14:29:33 +0200 X-Google-Sender-Auth: 8NWFilb7U6BInOzUJ4fbUU1gHrw Message-ID: Subject: Seem to be related to "unexec" stuff To: 17598@debbugs.gnu.org Content-Type: text/plain; charset=UTF-8 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 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.0 (/) Just noticed that when using "temacs" instead of "emacs" (which the same sequence of actions) everything runs fine. -- Gilles PION From debbugs-submit-bounces@debbugs.gnu.org Mon May 26 14:24:14 2014 Received: (at 17598) by debbugs.gnu.org; 26 May 2014 18:24:14 +0000 Received: from localhost ([127.0.0.1]:60687 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WozZF-0005dN-1r for submit@debbugs.gnu.org; Mon, 26 May 2014 14:24:14 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:43898) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WozZ7-0005ch-OY for 17598@debbugs.gnu.org; Mon, 26 May 2014 14:24:07 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 9CC18A60008; Mon, 26 May 2014 11:23:59 -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 QcFSsVr6Ita6; Mon, 26 May 2014 11:23:55 -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 A42C539E8012; Mon, 26 May 2014 11:23:55 -0700 (PDT) Message-ID: <538386BB.8090501@cs.ucla.edu> Date: Mon, 26 May 2014 11:23:55 -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: Emacs pretest 24.3.91 - AIX - SIGSEV when customize Content-Type: multipart/mixed; boundary="------------050305010007080903030504" X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17598 Cc: 17598@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. --------------050305010007080903030504 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I can't easily reproduce the problem since I don't use X. Perhaps the problem is due to cleanup changes in src/unexaix.c. To test this hypothesis, can you please try the attached file in place of the 24.3.91 src/unexaix.c? The attached file is as close to 24.3's unexaix.c as possible; the files can't be identical due to other changes in Emacs. Thanks. --------------050305010007080903030504 Content-Type: text/x-csrc; name="unexaix.c" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="unexaix.c" /* Dump an executable image. Copyright (C) 1985-1988, 1999, 2001-2014 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ /* In other words, you are welcome to use, share and improve this program. You are forbidden to forbid anyone else to use, share and improve what you give them. Help stamp out software-hoarding! */ /* Originally based on the COFF unexec.c by Spencer W. Thomas. * * Subsequently hacked on by * Bill Mann * Andrew Vignaux * Mike Sperber * * Synopsis: * unexec (const char *new_name, const *old_name); * * Takes a snapshot of the program and makes an a.out format file in the * file named by the string argument new_name. * If a_name is non-NULL, the symbol table will be taken from the given file. * On some machines, an existing a_name file is required. * */ #include #include "unexec.h" #define PERROR(file) report_error (file, new) #include /* Define getpagesize () if the system does not. Note that this may depend on symbols defined in a.out.h */ #include "getpagesize.h" #include #include #include #include #include #include static char *start_of_text (void); /* Start of text */ static char *start_of_data (void); extern int _data; extern int _text; #include #include #include #include static struct filehdr f_hdr; /* File header */ static struct aouthdr f_ohdr; /* Optional file header (a.out) */ static long bias; /* Bias to add for growth */ static long lnnoptr; /* Pointer to line-number info within file */ static long text_scnptr; static long data_scnptr; #define ALIGN(val, pwr) (((val) + ((1L<<(pwr))-1)) & ~((1L<<(pwr))-1)) static long load_scnptr; static long orig_load_scnptr; static long orig_data_scnptr; static int unrelocate_symbols (int, int, const char *, const char *); #ifndef MAX_SECTIONS #define MAX_SECTIONS 10 #endif static int adjust_lnnoptrs (int, int, const char *); static int pagemask; #include "lisp.h" static void report_error (const char *file, int fd) { if (fd) close (fd); report_file_error ("Cannot unexec", Fcons (build_string (file), Qnil)); } #define ERROR0(msg) report_error_1 (new, msg, 0, 0); return -1 #define ERROR1(msg,x) report_error_1 (new, msg, x, 0); return -1 #define ERROR2(msg,x,y) report_error_1 (new, msg, x, y); return -1 #undef ADDR_CORRECT #define ADDR_CORRECT(x) ((int)(x)) static void report_error_1 (int fd, const char *msg, int a1, int a2) { close (fd); error (msg, a1, a2); } static int make_hdr (int, int, const char *, const char *); static void mark_x (const char *); static int copy_text_and_data (int); static int copy_sym (int, int, const char *, const char *); static void write_segment (int, char *, char *); /* **************************************************************** * unexec * * driving logic. */ void unexec (const char *new_name, const char *a_name) { int new = -1, a_out = -1; if (a_name && (a_out = open (a_name, O_RDONLY)) < 0) { PERROR (a_name); } if ((new = creat (new_name, 0666)) < 0) { PERROR (new_name); } if (make_hdr (new, a_out, a_name, new_name) < 0 || copy_text_and_data (new) < 0 || copy_sym (new, a_out, a_name, new_name) < 0 || adjust_lnnoptrs (new, a_out, new_name) < 0 || unrelocate_symbols (new, a_out, a_name, new_name) < 0) { close (new); return; } close (new); if (a_out >= 0) close (a_out); mark_x (new_name); } /* **************************************************************** * make_hdr * * Make the header in the new a.out from the header in core. * Modify the text and data sizes. */ static int make_hdr (int new, int a_out, const char *a_name, const char *new_name) { int scns; unsigned int bss_start; unsigned int data_start; struct scnhdr section[MAX_SECTIONS]; struct scnhdr * f_thdr; /* Text section header */ struct scnhdr * f_dhdr; /* Data section header */ struct scnhdr * f_bhdr; /* Bss section header */ struct scnhdr * f_lhdr; /* Loader section header */ struct scnhdr * f_tchdr; /* Typechk section header */ struct scnhdr * f_dbhdr; /* Debug section header */ struct scnhdr * f_xhdr; /* Except section header */ load_scnptr = orig_load_scnptr = lnnoptr = 0; pagemask = getpagesize () - 1; /* Adjust text/data boundary. */ data_start = (long) start_of_data (); data_start = ADDR_CORRECT (data_start); data_start = data_start & ~pagemask; /* (Down) to page boundary. */ bss_start = ADDR_CORRECT (sbrk (0)) + pagemask; bss_start &= ~ pagemask; if (data_start > bss_start) /* Can't have negative data size. */ { ERROR2 ("unexec: data_start (%u) can't be greater than bss_start (%u)", data_start, bss_start); } /* Salvage as much info from the existing file as possible */ f_thdr = NULL; f_dhdr = NULL; f_bhdr = NULL; f_lhdr = NULL; f_tchdr = NULL; f_dbhdr = NULL; f_xhdr = NULL; if (a_out >= 0) { if (read (a_out, &f_hdr, sizeof (f_hdr)) != sizeof (f_hdr)) { PERROR (a_name); } if (f_hdr.f_opthdr > 0) { if (read (a_out, &f_ohdr, sizeof (f_ohdr)) != sizeof (f_ohdr)) { PERROR (a_name); } } if (f_hdr.f_nscns > MAX_SECTIONS) { ERROR0 ("unexec: too many section headers -- increase MAX_SECTIONS"); } /* Loop through section headers */ for (scns = 0; scns < f_hdr.f_nscns; scns++) { struct scnhdr *s = §ion[scns]; if (read (a_out, s, sizeof (*s)) != sizeof (*s)) { PERROR (a_name); } #define CHECK_SCNHDR(ptr, name, flags) \ if (strcmp (s->s_name, name) == 0) { \ if (s->s_flags != flags) { \ fprintf (stderr, "unexec: %lx flags where %x expected in %s section.\n", \ (unsigned long)s->s_flags, flags, name); \ } \ if (ptr) { \ fprintf (stderr, "unexec: duplicate section header for section %s.\n", \ name); \ } \ ptr = s; \ } CHECK_SCNHDR (f_thdr, _TEXT, STYP_TEXT); CHECK_SCNHDR (f_dhdr, _DATA, STYP_DATA); CHECK_SCNHDR (f_bhdr, _BSS, STYP_BSS); CHECK_SCNHDR (f_lhdr, _LOADER, STYP_LOADER); CHECK_SCNHDR (f_dbhdr, _DEBUG, STYP_DEBUG); CHECK_SCNHDR (f_tchdr, _TYPCHK, STYP_TYPCHK); CHECK_SCNHDR (f_xhdr, _EXCEPT, STYP_EXCEPT); } if (f_thdr == 0) { ERROR1 ("unexec: couldn't find \"%s\" section", (int) _TEXT); } if (f_dhdr == 0) { ERROR1 ("unexec: couldn't find \"%s\" section", (int) _DATA); } if (f_bhdr == 0) { ERROR1 ("unexec: couldn't find \"%s\" section", (int) _BSS); } } else { ERROR0 ("can't build a COFF file from scratch yet"); } orig_data_scnptr = f_dhdr->s_scnptr; orig_load_scnptr = f_lhdr ? f_lhdr->s_scnptr : 0; /* Now we alter the contents of all the f_*hdr variables to correspond to what we want to dump. */ /* Indicate that the reloc information is no longer valid for ld (bind); we only update it enough to fake out the exec-time loader. */ f_hdr.f_flags |= (F_RELFLG | F_EXEC); f_ohdr.dsize = bss_start - f_ohdr.data_start; f_ohdr.bsize = 0; f_dhdr->s_size = f_ohdr.dsize; f_bhdr->s_size = f_ohdr.bsize; f_bhdr->s_paddr = f_ohdr.data_start + f_ohdr.dsize; f_bhdr->s_vaddr = f_ohdr.data_start + f_ohdr.dsize; /* fix scnptr's */ { ulong ptr = section[0].s_scnptr; bias = -1; for (scns = 0; scns < f_hdr.f_nscns; scns++) { struct scnhdr *s = §ion[scns]; if (s->s_flags & STYP_PAD) /* .pad sections omitted in AIX 4.1 */ { /* * the text_start should probably be o_algntext but that doesn't * seem to change */ if (f_ohdr.text_start != 0) /* && scns != 0 */ { s->s_size = 512 - (ptr % 512); if (s->s_size == 512) s->s_size = 0; } s->s_scnptr = ptr; } else if (s->s_flags & STYP_DATA) s->s_scnptr = ptr; else if (!(s->s_flags & (STYP_TEXT | STYP_BSS))) { if (bias == -1) /* if first section after bss */ bias = ptr - s->s_scnptr; s->s_scnptr += bias; ptr = s->s_scnptr; } ptr = ptr + s->s_size; } } /* fix other pointers */ for (scns = 0; scns < f_hdr.f_nscns; scns++) { struct scnhdr *s = §ion[scns]; if (s->s_relptr != 0) { s->s_relptr += bias; } if (s->s_lnnoptr != 0) { if (lnnoptr == 0) lnnoptr = s->s_lnnoptr; s->s_lnnoptr += bias; } } if (f_hdr.f_symptr > 0L) { f_hdr.f_symptr += bias; } text_scnptr = f_thdr->s_scnptr; data_scnptr = f_dhdr->s_scnptr; load_scnptr = f_lhdr ? f_lhdr->s_scnptr : 0; if (write (new, &f_hdr, sizeof (f_hdr)) != sizeof (f_hdr)) { PERROR (new_name); } if (f_hdr.f_opthdr > 0) { if (write (new, &f_ohdr, sizeof (f_ohdr)) != sizeof (f_ohdr)) { PERROR (new_name); } } for (scns = 0; scns < f_hdr.f_nscns; scns++) { struct scnhdr *s = §ion[scns]; if (write (new, s, sizeof (*s)) != sizeof (*s)) { PERROR (new_name); } } return (0); } /* **************************************************************** * * Copy the text and data segments from memory to the new a.out */ static int copy_text_and_data (int new) { char *end; char *ptr; lseek (new, (long) text_scnptr, SEEK_SET); ptr = start_of_text () + text_scnptr; end = ptr + f_ohdr.tsize; write_segment (new, ptr, end); lseek (new, (long) data_scnptr, SEEK_SET); ptr = (char *) f_ohdr.data_start; end = ptr + f_ohdr.dsize; write_segment (new, ptr, end); return 0; } #define UnexBlockSz (1<<12) /* read/write block size */ static void write_segment (int new, char *ptr, char *end) { int i, nwrite, ret; char buf[80]; char zeros[UnexBlockSz]; for (i = 0; ptr < end;) { /* distance to next block. */ nwrite = (((int) ptr + UnexBlockSz) & -UnexBlockSz) - (int) ptr; /* But not beyond specified end. */ if (nwrite > end - ptr) nwrite = end - ptr; ret = write (new, ptr, nwrite); /* If write gets a page fault, it means we reached a gap between the old text segment and the old data segment. This gap has probably been remapped into part of the text segment. So write zeros for it. */ if (ret == -1 && errno == EFAULT) { memset (zeros, 0, nwrite); write (new, zeros, nwrite); } else if (nwrite != ret) { sprintf (buf, "unexec write failure: addr 0x%lx, fileno %d, size 0x%x, wrote 0x%x, errno %d", (unsigned long)ptr, new, nwrite, ret, errno); PERROR (buf); } i += nwrite; ptr += nwrite; } } /* **************************************************************** * copy_sym * * Copy the relocation information and symbol table from the a.out to the new */ static int copy_sym (int new, int a_out, const char *a_name, const char *new_name) { char page[UnexBlockSz]; int n; if (a_out < 0) return 0; if (orig_load_scnptr == 0L) return 0; if (lnnoptr && lnnoptr < orig_load_scnptr) /* if there is line number info */ lseek (a_out, lnnoptr, SEEK_SET); /* start copying from there */ else lseek (a_out, orig_load_scnptr, SEEK_SET); /* Position a.out to symtab. */ while ((n = read (a_out, page, sizeof page)) > 0) { if (write (new, page, n) != n) { PERROR (new_name); } } if (n < 0) { PERROR (a_name); } return 0; } /* **************************************************************** * mark_x * * After successfully building the new a.out, mark it executable */ static void mark_x (const char *name) { struct stat sbuf; int um; int new = 0; /* for PERROR */ um = umask (777); umask (um); if (stat (name, &sbuf) == -1) { PERROR (name); } sbuf.st_mode |= 0111 & ~um; if (chmod (name, sbuf.st_mode) == -1) PERROR (name); } static int adjust_lnnoptrs (int writedesc, int readdesc, const char *new_name) { int nsyms; int naux; int new; struct syment symentry; union auxent auxentry; if (!lnnoptr || !f_hdr.f_symptr) return 0; if ((new = open (new_name, O_RDWR)) < 0) { PERROR (new_name); return -1; } lseek (new, f_hdr.f_symptr, SEEK_SET); for (nsyms = 0; nsyms < f_hdr.f_nsyms; nsyms++) { read (new, &symentry, SYMESZ); if (symentry.n_sclass == C_BINCL || symentry.n_sclass == C_EINCL) { symentry.n_value += bias; lseek (new, -SYMESZ, SEEK_CUR); write (new, &symentry, SYMESZ); } for (naux = symentry.n_numaux; naux-- != 0; ) { read (new, &auxentry, AUXESZ); nsyms++; if (naux != 0 /* skip csect auxentry (last entry) */ && (symentry.n_sclass == C_EXT || symentry.n_sclass == C_HIDEXT)) { auxentry.x_sym.x_fcnary.x_fcn.x_lnnoptr += bias; lseek (new, -AUXESZ, SEEK_CUR); write (new, &auxentry, AUXESZ); } } } close (new); return 0; } static int unrelocate_symbols (int new, int a_out, const char *a_name, const char *new_name) { int i; LDHDR ldhdr; LDREL ldrel; ulong t_reloc = (ulong) &_text - f_ohdr.text_start; #ifndef ALIGN_DATA_RELOC ulong d_reloc = (ulong) &_data - f_ohdr.data_start; #else /* This worked (and was needed) before AIX 4.2. I have no idea why. -- Mike */ ulong d_reloc = (ulong) &_data - ALIGN (f_ohdr.data_start, 2); #endif int * p; if (load_scnptr == 0) return 0; lseek (a_out, orig_load_scnptr, SEEK_SET); if (read (a_out, &ldhdr, sizeof (ldhdr)) != sizeof (ldhdr)) { PERROR (new_name); } #define SYMNDX_TEXT 0 #define SYMNDX_DATA 1 #define SYMNDX_BSS 2 for (i = 0; i < ldhdr.l_nreloc; i++) { lseek (a_out, orig_load_scnptr + LDHDRSZ + LDSYMSZ*ldhdr.l_nsyms + LDRELSZ*i, SEEK_SET); if (read (a_out, &ldrel, LDRELSZ) != LDRELSZ) { PERROR (a_name); } /* move the BSS loader symbols to the DATA segment */ if (ldrel.l_symndx == SYMNDX_BSS) { ldrel.l_symndx = SYMNDX_DATA; lseek (new, load_scnptr + LDHDRSZ + LDSYMSZ*ldhdr.l_nsyms + LDRELSZ*i, SEEK_SET); if (write (new, &ldrel, LDRELSZ) != LDRELSZ) { PERROR (new_name); } } if (ldrel.l_rsecnm == f_ohdr.o_sndata) { int orig_int; lseek (a_out, orig_data_scnptr + (ldrel.l_vaddr - f_ohdr.data_start), SEEK_SET); if (read (a_out, (void *) &orig_int, sizeof (orig_int)) != sizeof (orig_int)) { PERROR (a_name); } p = (int *) (ldrel.l_vaddr + d_reloc); switch (ldrel.l_symndx) { case SYMNDX_TEXT: orig_int = * p - t_reloc; break; case SYMNDX_DATA: case SYMNDX_BSS: orig_int = * p - d_reloc; break; } if (orig_int != * p) { lseek (new, data_scnptr + (ldrel.l_vaddr - f_ohdr.data_start), SEEK_SET); if (write (new, (void *) &orig_int, sizeof (orig_int)) != sizeof (orig_int)) { PERROR (new_name); } } } } return 0; } /* * Return the address of the start of the text segment prior to * doing an unexec. After unexec the return value is undefined. * See crt0.c for further explanation and _start. * */ static char * start_of_text (void) { return ((char *) 0x10000000); } static char * start_of_data (void) { return (char *) 0x20000000; } --------------050305010007080903030504-- From debbugs-submit-bounces@debbugs.gnu.org Tue May 27 03:35:45 2014 Received: (at 17598) by debbugs.gnu.org; 27 May 2014 07:35:45 +0000 Received: from localhost ([127.0.0.1]:32919 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpBvE-0000ZB-Fc for submit@debbugs.gnu.org; Tue, 27 May 2014 03:35:45 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:56486 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpBv9-0000Yq-W4 for 17598@debbugs.gnu.org; Tue, 27 May 2014 03:35:42 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1106109; Tue, 27 May 2014 09:35:13 +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 <0N6800AAS2EPMP@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Tue, 27 May 2014 09:35:13 +0200 (MEST) Date: Tue, 27 May 2014 09:35:10 +0200 From: Gilles PION Subject: Re: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <538386BB.8090501@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 27/05/2014 09:35:13, Serialize complete at 27/05/2014 09:35:13 X-KeepSent: 0340C5D3:74A3446E-C1257CE5:00293CD4; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> Content-Type: multipart/related; boundary="Boundary_(ID_daXJjXx2AKRcZ6qEmsRlug)" X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@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.6 (/) Message en plusieurs parties au format MIME --Boundary_(ID_daXJjXx2AKRcZ6qEmsRlug) Content-Type: multipart/alternative; boundary="Boundary_(ID_kQ5wWJy/ESckjQGs4aaY2g)" --Boundary_(ID_kQ5wWJy/ESckjQGs4aaY2g) Content-Type: text/plain; charset="ISO-8859-1" Content-transfer-encoding: quoted-printable It worked!=0D=0A=0D=0AThat's a miracle: being able to fix a such obscure cr= ash with so few =0D=0Ainformation although not being able to reproduce on y= ou own configuration =0D=0Ais amazing=2E=0D=0A=0D=0AI will keep on testing = anyway=0D=0A=0D=0AThanks,=0D=0A=0D=0A--=0D=0A=0D=0AGilles PION =0D=0AIng=E9= nieur syst=E8me=0D=0AIndustrialisation des syst=E8mes, r=E9seaux et middlew= are=0D=0A=0D=0A=0D=0AT=E9l=2E (direct):=0D=0A+33 (0) 4 42 78 56 59 =0D=0A= =0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0ADe : Paul Eggert =0D=0AA : Gilles Pion , =0D=0ACc : 1759= 8@debbugs=2Egnu=2Eorg=0D=0ADate : 26/05/2014 20:24=0D=0AObjet : Re: Emacs = pretest 24=2E3=2E91 - AIX - SIGSEV when customize=0D=0A=0D=0A=0D=0A=0D=0AI = can't easily reproduce the problem since I don't use X=2E Perhaps the =0D= =0Aproblem is due to cleanup changes in src/unexaix=2Ec=2E To test this = =0D=0Ahypothesis, can you please try the attached file in place of the 24= =2E3=2E91 =0D=0Asrc/unexaix=2Ec? The attached file is as close to 24=2E3's= unexaix=2Ec as =0D=0Apossible; the files can't be identical due to other c= hanges in Emacs=2E =0D=0AThanks=2E=0D=0A[pi=E8ce jointe "unexaix=2Ec" suppr= im=E9e par Gilles Pion/DPR/SI/FDJ] =0D=0A=0D=0A=0D=0A = =0D=0A = =0D=0A = =0D=0A = =0D=0A = =0D=0A =0D=0A=0D=0A=0D=0A=0D=0A=2E Si vous n'= =EAtes pas destinataires de ce message, merci d'avertir=0D=0Al'exp=E9diteur= de l'erreur de distribution et de le d=E9truire=0D=0Aimm=E9diatement=2E=0D= =0ACe message contient des informations confidentielles ou appartenant=0D= =0Aa La Fran=E7aise des Jeux=2E Il est =E9tabli a l'intention exclusive de= =0D=0Ases destinataires=2E Toute divulgation, utilisation, diffusion ou=0D= =0Areproduction (totale ou partielle) de ce message ou des=0D=0Ainformation= s qu'il contient, doit =EAtre pr=E9alablement autoris=E9e=2E=0D=0ATout mess= age =E9lectronique est susceptible d'alt=E9ration et son=0D=0Aint=E9grit=E9= ne peut etre assur=E9e=2E La Fran=E7aise des Jeux d=E9cline toute=0D=0Ares= ponsabilit=E9 au titre de ce message s'il a =E9t=E9 modifie ou=0D=0Afalsifi= e=2E --Boundary_(ID_kQ5wWJy/ESckjQGs4aaY2g) Content-Type: text/html; charset="ISO-8859-1" Content-transfer-encoding: quoted-printable It worked!=0D=0A

=0D=0A

That's a miracle: being able to fix a=0D=0Asu= ch obscure crash with so few information although not being able to reprodu= ce=0D=0Aon you own configuration is amazing=2E=0D=0A

=0D=0A

I will keep on testing anyway=0D=0A=0D=0A

Thanks,
=0D=0A
=0D=0A=

--=0D=0A=0D=0A=0D=0A=0D=0A
= Gilles PION
=0D=0AIng=E9nieur syst=E8me<= br>=0D=0AIndustrialisation des syst=E8mes, r=E9seaux et middleware
= =0D=0A

=0D=0A
=0D=0A=0D=0A=0D=0A
= T=E9l=2E (direct):=0D=0A+33 (0) 4 42 78 56 59
=0D=0A
=0D=0A
=0D=0A

=0D=0A
=0D=0A
=0D=0A
= =0D=0A
=0D=0A
=0D=0A
De :      =0D=0A Paul Eggert <eggert@cs=2Eucla=2Eedu>=0D=0A
A :      =0D=0A=  Gilles Pion <gpion@lfdj= =2Ecom>,=0D=0A=0D=0A
Cc :    =0D=0A   17598@debbugs=2Egnu=2Eorg=0D=0A
Date :      =0D=0A = ;26/05/2014 20:24=0D=0AObjet :    = =0D=0A   Re: Emacs pret= est=0D=0A24=2E3=2E91 - AIX - SIGSEV when customize=0D=0A
=0D=0A=0D=0A
=0D=0A
=0D=0A
I can't easily r= eproduce the problem since I don't=0D=0Ause X=2E  Perhaps the
=0D= =0Aproblem is due to cleanup changes in src/unexaix=2Ec=2E  To test th= is=0D=0A
=0D=0Ahypothesis, can you please try the attached file in place= of the 24=2E3=2E91=0D=0A
=0D=0Asrc/unexaix=2Ec?  The attached file= is as close to 24=2E3's unexaix=2Ec=0D=0Aas
=0D=0Apossible; the files = can't be identical due to other changes in Emacs=2E
=0D=0AThanks=2E
= =0D=0A[pi=E8ce jointe "unexaix=2Ec" supprim=E9e par Gilles Pion/D= PR/SI/FDJ]=0D=0A
=0D=0A
=0D=0A=0D=0A = =0D=0A = =0D=0A = =0D=0A = =0D=0A = =0D=0A =0D=0A=0D=0A=0D=0A=0D=0A=2E Si vous n'=EA= tes pas destinataires de ce message, merci d'avertir=0D=0Al'exp=E9diteur de= l'erreur de distribution et de le d=E9truire=0D=0Aimm=E9diatement=2E=0D=0A= Ce message contient des informations confidentielles ou appartenant=0D=0Aa = La Fran=E7aise des Jeux=2E Il est =E9tabli a l'intention exclusive de=0D=0A= ses destinataires=2E Toute divulgation, utilisation, diffusion ou=0D=0Arepr= oduction (totale ou partielle) de ce message ou des=0D=0Ainformations qu'il= contient, doit =EAtre pr=E9alablement autoris=E9e=2E=0D=0ATout message =E9= lectronique est susceptible d'alt=E9ration et son=0D=0Aint=E9grit=E9 ne peu= t etre assur=E9e=2E La Fran=E7aise des Jeux d=E9cline toute=0D=0Aresponsabi= lit=E9 au titre de ce message s'il a =E9t=E9 modifie ou=0D=0Afalsifie=2E --Boundary_(ID_kQ5wWJy/ESckjQGs4aaY2g)-- Content-Type: text/plain --Boundary_(ID_daXJjXx2AKRcZ6qEmsRlug) Content-Type: image/gif Content-id: <_1_0DEC60E00DEECB040029ABDBC1257CE5> Content-transfer-encoding: base64 R0lGODlhYAAwAPcAAAAtdQAueAAyfBgraRk2dj0sajM9ajg2cypFdzFEclwfPWYNJWkTKGMYMls8 bgArhgE2ggA0igA5hAA7jQA9kABAjQZIiwBDlAFGmABJlQBLmgxFlApIlgpOmwBSnQBYngtRmhhH ihFElBNLmBhGlRpJlhxPmhVTlBJSnBpSlBxSnB5bmgBOoQBUoQBWqABapQBdqR5bpABhpwBirAFp rQ5lpQliqwxorQBmsQBqtABtuQBzuwB5vg51uRhjqxVssRh3uCJUnCBZnylfmyBcoipcoSBhpSJr qCtgpSlrqSVttCNzszNjpjRnqDJrrD9mqD5sozxsrDpxpjxwrTB2uTxzsD12uQB1wAB7wwB9yV1R g0JrqEd0rEN5sk12sE56s1N2qVF3sVR8tCuCvjOJuziEvQCAxQCDygCJzQCH0ACM0QCP2ACR1QCU 2QCZ3BCM0CeIxCOf2zeHwDqYzTGb0z2l2UyFulmCrlOCtVOMvVqBt1uCuFyLumSDrmKEtGSGumWL vWuLtGmMvWqSvnCHr3uZvE+LwUOUyU2Ux0uYzFSRwVKbzl2Swl6YxF6ZyVmz4WKXxWySwWidynea xWukzWau2mim02ip1Wit2Giz3XqiyXmr0nS023yx13qz2mi24Wi65Gm+6He94XvH65MGCZsOM5oW P6sEDKcJFLMAArIIJtEADtIAEsARLOIAC+UAGPMADYaev4OdwoCeyIahw4ShyY2kw4qly4+oxoup zYqs0Yay1ZSsypOv0ZmyzJWx0pS71pO825201Jq92aG31qS61KS62Kq50aq+2rK+04rG5pTB4J3H 45/L5ZjQ66fD3LTF27rH2qnL46zS6a7a8LTK4brM4bPU6rPZ7bzS57za67nd87bi+MHN3cHP5MPS 5cfX6MPe7sjV5sjW6M3Z6dHc6sni8dXh7dvj7dPl8tPp9d3l8N7o8t34/+Pm7eDm8ePq8unu9Obx 9+zx9u30+fHy9vH1+fX4+/7+/v///wAAAAAAAAAAAAAAAAAAAAAAACwAAAAAYAAwAAAI/wDzCRxI sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzajyI7949fBtDijSIb10tMWJqrQM5sqXGb0EiyIwQxBpL lzgnzkMS4YLPCxFGeMtJFKI9LxN++tQwgYm9olAV2gvTU+nSC2KeRt060J6YqhcmyLyQIYMGCnq0 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 Y2xhBCN4wjS3HWy7vOMdsSG3utfN7okEBAA7 --Boundary_(ID_daXJjXx2AKRcZ6qEmsRlug)-- From debbugs-submit-bounces@debbugs.gnu.org Tue May 27 10:58:37 2014 Received: (at 17598) by debbugs.gnu.org; 27 May 2014 14:58:37 +0000 Received: from localhost ([127.0.0.1]:33519 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpIpl-0005vV-5O for submit@debbugs.gnu.org; Tue, 27 May 2014 10:58:37 -0400 Received: from mail-qg0-f41.google.com ([209.85.192.41]:51339) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpIpd-0005vA-HZ for 17598@debbugs.gnu.org; Tue, 27 May 2014 10:58:29 -0400 Received: by mail-qg0-f41.google.com with SMTP id j5so14182538qga.28 for <17598@debbugs.gnu.org>; Tue, 27 May 2014 07:58:19 -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=NxnnjRzuhPo3wRSXXhFomKrJZ/A4weZkWytuvVKwztk=; b=mM1yNuZG8brBaI6y/a4aVOqOJneKq0GB89Gn9p+/1Cw62I8Zhxwbl2cXpejjV1n6GW Z60LpctdXk0O3CCQ1vrDB92ao24EmQhmsRtJ7bBRW3h8tEm3otmZnOHRKF5aX+MDOQdl PZnsqSQ9jqNK3oIYHPKB8TDo6q0028z42tNeHZMdNgSatGHPlsfsUj2ePRy/T7S03dNQ 5Z7l+LcMZDg9TrSGt3b/BC/Seept2uEoe3pB45sHHrA9xVlC48q+uV8aPfngxiqgLNTC 2EVr4jFtoi0friprmwGvfE3ZEoiHcTdzQld0g4GHV501uGk7xHGOzmNUtV6sjVcMXc7t ZHGA== X-Received: by 10.229.42.9 with SMTP id q9mr43213106qce.8.1401202699517; Tue, 27 May 2014 07:58:19 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.130.7 with HTTP; Tue, 27 May 2014 07:57:58 -0700 (PDT) From: Gilles Pion Date: Tue, 27 May 2014 16:57:58 +0200 X-Google-Sender-Auth: 3qaYqD69hruoxPJCggzETo8fMMU Message-ID: Subject: Not solved, unfortunately... To: 17598@debbugs.gnu.org Content-Type: multipart/mixed; boundary=001a1133ba5229fa5b04fa62edaa X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 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.0 (/) --001a1133ba5229fa5b04fa62edaa Content-Type: multipart/alternative; boundary=001a1133ba5229fa5804fa62eda8 --001a1133ba5229fa5804fa62eda8 Content-Type: text/plain; charset=UTF-8 Still crashing (but not always at the same moment) M-X customize-group then some stuff, sometime crash immediately, sometime after some cursor movement/ gdb session attached -- Gilles PION --001a1133ba5229fa5804fa62eda8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Still crashing (but not always at the same moment)

M-X customize-group=C2=A0
then some st= uff, sometime crash immediately, sometime after some cursor movement/
=

gdb session attached
--=C2=A0
Gilles P= ION
--001a1133ba5229fa5804fa62eda8-- --001a1133ba5229fa5b04fa62edaa Content-Type: text/plain; charset=US-ASCII; name="anonymized-gdb_session_2.txt" Content-Disposition: attachment; filename="anonymized-gdb_session_2.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hvpbvpuu0 Cl9fPiBnZGIgIC4vZW1hY3MtMjQuMy45MS9zcmMvZW1hY3MgCkdOVSBnZGIgKEdEQikgNy41CkNv cHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBH UEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNl cy9ncGwuaHRtbD4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJlIGZyZWUgdG8gY2hhbmdl IGFuZCByZWRpc3RyaWJ1dGUgaXQuClRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50 IHBlcm1pdHRlZCBieSBsYXcuICBUeXBlICJzaG93IGNvcHlpbmciCmFuZCAic2hvdyB3YXJyYW50 eSIgZm9yIGRldGFpbHMuClRoaXMgR0RCIHdhcyBjb25maWd1cmVkIGFzICJwb3dlcnBjNjQtaWJt LWFpeDYuMS4yLjAiLgpGb3IgYnVnIHJlcG9ydGluZyBpbnN0cnVjdGlvbnMsIHBsZWFzZSBzZWU6 CjxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2J1Z3MvPi4uLgpSZWFkaW5nIHN5bWJv bHMgZnJvbSA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9zcmMvZW1h Y3MuLi5kb25lLgooZ2RiKSBydW4gLS1uby1zaXRlLWZpbGUgIC0tbm8taW5pdC1maWxlClN0YXJ0 aW5nIHByb2dyYW06IDxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MS9lbWFjcy0yNC4zLjkxL3Ny Yy9lbWFjcyAtLW5vLXNpdGUtZmlsZSAgLS1uby1pbml0LWZpbGUKW05ldyBUaHJlYWQgMV0KClBy b2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRhdGlvbiBmYXVsdC4KW1N3aXRj aGluZyB0byBUaHJlYWQgMV0KMHhkMDEzZGFhYyBpbiBsZWZ0bW9zdCAoKSBmcm9tIC91c3IvbGli L2xpYmMuYShzaHIubykKKGdkYikgd2hlcmUKIzAgIDB4ZDAxM2RhYWMgaW4gbGVmdG1vc3QgKCkg ZnJvbSAvdXNyL2xpYi9saWJjLmEoc2hyLm8pCiMxICAweGQwMTQwMDU4IGluIG1hbGxvY195ICgp IGZyb20gL3Vzci9saWIvbGliYy5hKHNoci5vKQojMiAgMHhkMDEyYTQ4YyBpbiBtYWxsb2NfY29t bW9uQEFGMTAzXzg2ICgpIGZyb20gL3Vzci9saWIvbGliYy5hKHNoci5vKQojMyAgMHhkMTFmNTlj NCBpbiBYQ3JlYXRlR0MgKCkgZnJvbSAvdXNyL2xpYi9saWJYMTEuYShzaHI0Lm8pCiM0ICAweDEw MWQxNTcwIGluIHByZXBhcmVfZmFjZV9mb3JfZGlzcGxheSAoKQojNSAgMHgxMDA3MTM4YyBpbiBm aWxsX2dseXBoX3N0cmluZyAoKQojNiAgMHgxMDA3YTVjNCBpbiBkcmF3X2dseXBocyAoKQojNyAg MHgxMDBiMTJhYyBpbiB4X3dyaXRlX2dseXBocyAoKQojOCAgMHgxMDIwYTJjMCBpbiB1cGRhdGVf d2luZG93X2xpbmUgKCkKIzkgIDB4MTAyMGFiNWMgaW4gdXBkYXRlX3dpbmRvdyAoKQojMTAgMHgx MDIwZDAyYyBpbiB1cGRhdGVfd2luZG93X3RyZWUgKCkKIzExIDB4MTAyMTNlZTggaW4gdXBkYXRl X2ZyYW1lICgpCiMxMiAweDEwMGE3ZmU4IGluIHJlZGlzcGxheV9pbnRlcm5hbCAoKQojMTMgMHgx MDEwNWQ1MCBpbiByZWFkX2NoYXIgKCkKIzE0IDB4MTAxMDdmYTggaW4gcmVhZF9rZXlfc2VxdWVu Y2UuY29uc3Rwcm9wLjM5ICgpCiMxNSAweDEwMTBhMWE0IGluIGNvbW1hbmRfbG9vcF8xICgpCiMx NiAweDEwMDM5ZGM0IGluIGludGVybmFsX2NvbmRpdGlvbl9jYXNlICgpCiMxNyAweDEwMGY2Mjc0 IGluIGNvbW1hbmRfbG9vcF8yICgpCiMxOCAweDEwMDM5YzZjIGluIGludGVybmFsX2NhdGNoICgp CiMxOSAweDEwMGZjYWY4IGluIHJlY3Vyc2l2ZV9lZGl0XzEgKCkKIzIwIDB4MTAwZmNjZTQgaW4g RnJlY3Vyc2l2ZV9lZGl0ICgpCiMyMSAweDEwMDAwZWM0IGluIG1haW4gKCkKKGdkYikgcXVpdApB IGRlYnVnZ2luZyBzZXNzaW9uIGlzIGFjdGl2ZS4KCglJbmZlcmlvciAxIFtwcm9jZXNzIDE2ODQy ODE4XSB3aWxsIGJlIGtpbGxlZC4KClF1aXQgYW55d2F5PyAoeSBvciBuKSB5Cgo= --001a1133ba5229fa5b04fa62edaa-- From debbugs-submit-bounces@debbugs.gnu.org Tue May 27 11:38:40 2014 Received: (at 17598) by debbugs.gnu.org; 27 May 2014 15:38:40 +0000 Received: from localhost ([127.0.0.1]:33552 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpJSW-0006zH-1g for submit@debbugs.gnu.org; Tue, 27 May 2014 11:38:40 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:58429) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpJSQ-0006yw-Aq for 17598@debbugs.gnu.org; Tue, 27 May 2014 11:38:35 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 38FD739E8018; Tue, 27 May 2014 08:38:23 -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 UnEVmbh5TVoz; Tue, 27 May 2014 08:38:16 -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 11AD1A6000C; Tue, 27 May 2014 08:38:16 -0700 (PDT) Message-ID: <5384B167.8040704@cs.ucla.edu> Date: Tue, 27 May 2014 08:38:15 -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: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@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: 17598 Cc: 17598@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 (---) If it's still crashing, that suggests the problem is not in unexaix.c after all, unfortunately. What happens if you run "./configure --enable-checking=all && make"? From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 03:48:29 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 07:48:29 +0000 Received: from localhost ([127.0.0.1]:33979 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpYb6-0002vC-LE for submit@debbugs.gnu.org; Wed, 28 May 2014 03:48:29 -0400 Received: from forward8l.mail.yandex.net ([84.201.143.141]:37474) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpYb3-0002uu-Ts for 17598@debbugs.gnu.org; Wed, 28 May 2014 03:48:27 -0400 Received: from smtp8.mail.yandex.net (smtp8.mail.yandex.net [77.88.61.54]) by forward8l.mail.yandex.net (Yandex) with ESMTP id 8966C1A41158; Wed, 28 May 2014 11:48:14 +0400 (MSK) Received: from smtp8.mail.yandex.net (localhost [127.0.0.1]) by smtp8.mail.yandex.net (Yandex) with ESMTP id 1C3301B60059; Wed, 28 May 2014 11:48:14 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp8.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id 5p2issjShM-mDAmjfCr; Wed, 28 May 2014 11:48:13 +0400 (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) X-Yandex-Uniq: 16171db5-88e8-4447-9171-997aec5891c6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1401263293; bh=TqYBCvr0BceVt2kErpSdO1y68yS0bL5WIfez4dOgVUU=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=o+5rrQQuJg2UG9W4Fyj5jOeqFriFij3kRXkcsViz0oDcQSQsgjOCEOMbn8bKq3TJE S0pVXBQAO61DMvBHnL/09W/H3xEYBilc4HXn1+stV9udJbckgQKBh5TlNfh1fZEnNT 3I24D0Wp9KopMEiLnBoTmltBuRPTazArSn5CsNp0= Authentication-Results: smtp8.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <538594BD.7090108@yandex.ru> Date: Wed, 28 May 2014 11:48:13 +0400 From: Dmitry Antipov 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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> In-Reply-To: <5384B167.8040704@cs.ucla.edu> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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.0 (/) On 05/27/2014 07:38 PM, Paul Eggert wrote: > If it's still crashing, that suggests the problem is not in unexaix.c after all, unfortunately. Is it possible to run undumped (i.e. temacs) on AIX? If there is an issue with unexec, it shouldn't affect undumped executable. > What happens if you run "./configure --enable-checking=all && make"? Latest backtrace (with SIGSEGV in malloc) is probably caused by heap corruption. Are there some built-in debugging facilities in AIX malloc implementation (something similar to glibc mcheck, for example)? Dmitry From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 04:40:44 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 08:40:44 +0000 Received: from localhost ([127.0.0.1]:33988 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpZPf-0004hj-4P for submit@debbugs.gnu.org; Wed, 28 May 2014 04:40:43 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:7298 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpZPZ-0004hI-R8 for 17598@debbugs.gnu.org; Wed, 28 May 2014 04:40:39 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1154834; Wed, 28 May 2014 10:40:28 +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 <0N6A0015203GNB@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 28 May 2014 10:40:28 +0200 (MEST) Date: Wed, 28 May 2014 10:40:26 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <538594BD.7090108@yandex.ru> To: Dmitry Antipov 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 28/05/2014 10:40:28, Serialize complete at 28/05/2014 10:40:28 X-KeepSent: 6C5E1291:43779605-C1257CE6:002E97F0; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> Content-Type: multipart/alternative; boundary="Boundary_(ID_7o6J9mV1cEzIzdmcNPCkdA)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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_7o6J9mV1cEzIzdmcNPCkdA) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > De : Dmitry Antipov > A : Gilles PION , > Cc : Paul Eggert , 17598@debbugs.gnu.org > Date : 28/05/2014 09:48 > Objet : Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize > > On 05/27/2014 07:38 PM, Paul Eggert wrote: > > > If it's still crashing, that suggests the problem is not in > unexaix.c after all, unfortunately. > > Is it possible to run undumped (i.e. temacs) on AIX? If there is an issue with > unexec, it shouldn't affect undumped executable. Yes, it crashes too: $ gdb ./emacs-24.3.91/src/temacs /../ (gdb) run --no-site-file --no-init-file /../ Pure-hashed: 23622 strings, 3448 vectors, 37051 conses, 3241 bytecodes, 82 others # emacs windows appears here , doing M-x configure then moving cursor, as usual Fatal error 6: Resource lost Program received signal SIGABRT, Aborted. [Switching to Thread 1] 0xd0508b20 in pthread_kill () from /usr/lib/libpthread.a(shr_xpg5.o) So you're right, the issue is not unexec related > > > What happens if you run "./configure --enable-checking=all && make"? > > Latest backtrace (with SIGSEGV in malloc) is probably caused by heap > corruption. > Are there some built-in debugging facilities in AIX malloc implementation > (something similar to glibc mcheck, for example)? The previous run uses "temacs" from a new build using those suggested "configure" parameters, backtrace: (gdb) where #0 0xd0508b20 in pthread_kill () from /usr/lib/libpthread.a(shr_xpg5.o) #1 0xd0507f8c in _p_raise () from /usr/lib/libpthread.a(shr_xpg5.o) #2 0x1000c4f8 in terminate_due_to_signal () #3 0x1003483c in emacs_abort () #4 0x10020a04 in xfree () #5 0x1029c5ec in x_uncatch_errors () #6 0x10288fe8 in xfont_list_pattern () #7 0x1028a214 in xfont_list () #8 0x10271940 in font_list_entities () #9 0x1027480c in font_find_for_lface.constprop.12 () #10 0x10274f48 in font_load_for_lface () #11 0x1025a8d0 in realize_face () #12 0x1025cd80 in lookup_face.isra.22 () #13 0x10260b3c in face_at_buffer_position () #14 0x100c1230 in handle_face_prop () #15 0x100a89c0 in handle_stop () #16 0x100c1d64 in next_element_from_buffer () #17 0x100acf80 in get_next_display_element () #18 0x100bd448 in display_line () #19 0x100ccba0 in try_window.constprop.53 () #20 0x100e8f28 in redisplay_window () #21 0x100ebfbc in redisplay_window_0 () #22 0x10053f4c in internal_condition_case_1 () #23 0x1008a4b4 in redisplay_windows () #24 0x100d08e0 in redisplay_internal () #25 0x100497c8 in read_char () #26 0x1004ba00 in read_key_sequence.constprop.46 () #27 0x1004e354 in command_loop_1 () #28 0x10053d94 in internal_condition_case () #29 0x10036c00 in command_loop_2 () #30 0x10053c3c in internal_catch () #31 0x1003e414 in recursive_edit_1 () #32 0x1003e630 in Frecursive_edit () #33 0x10000ee4 in main () -- Gilles . 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_7o6J9mV1cEzIzdmcNPCkdA) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT > De : Dmitry Antipov <dmantipov@yandex.ru>
> A : Gilles PION <gpion@lfdj.com>,
> Cc : Paul Eggert <eggert@cs.ucla.edu>, 17598@debbugs.gnu.org
> Date : 28/05/2014 09:48
> Objet : Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize
>
> On 05/27/2014 07:38 PM, Paul Eggert wrote:
>
> > If it's still crashing, that suggests the problem is not in
> unexaix.c after all, unfortunately.
>
> Is it possible to run undumped (i.e. temacs) on AIX? If there is an issue with
> unexec, it shouldn't affect undumped executable.

Yes, it crashes too:
$ gdb ./emacs-24.3.91/src/temacs
/../
(gdb) run  --no-site-file  --no-init-file
/../
Pure-hashed: 23622 strings, 3448 vectors, 37051 conses, 3241 bytecodes, 82 others
#  emacs windows appears here , doing M-x configure then moving cursor, as usual
Fatal error 6: Resource lost
Program received signal SIGABRT, Aborted.
[Switching to Thread 1]
0xd0508b20 in pthread_kill () from /usr/lib/libpthread.a(shr_xpg5.o)

So you're right, the issue is not unexec related

>
> > What happens if you run "./configure --enable-checking=all && make"?
>
> Latest backtrace (with SIGSEGV in malloc) is probably caused by heap
> corruption.
> Are there some built-in debugging facilities in AIX malloc implementation
> (something similar to glibc mcheck, for example)?

The previous run uses "temacs" from a new build using those suggested "configure" parameters,

backtrace:
(gdb) where
#0  0xd0508b20 in pthread_kill () from /usr/lib/libpthread.a(shr_xpg5.o)
#1  0xd0507f8c in _p_raise () from /usr/lib/libpthread.a(shr_xpg5.o)
#2  0x1000c4f8 in terminate_due_to_signal ()
#3  0x1003483c in emacs_abort ()
#4  0x10020a04 in xfree ()
#5  0x1029c5ec in x_uncatch_errors ()
#6  0x10288fe8 in xfont_list_pattern ()
#7  0x1028a214 in xfont_list ()
#8  0x10271940 in font_list_entities ()
#9  0x1027480c in font_find_for_lface.constprop.12 ()
#10 0x10274f48 in font_load_for_lface ()
#11 0x1025a8d0 in realize_face ()
#12 0x1025cd80 in lookup_face.isra.22 ()
#13 0x10260b3c in face_at_buffer_position ()
#14 0x100c1230 in handle_face_prop ()
#15 0x100a89c0 in handle_stop ()
#16 0x100c1d64 in next_element_from_buffer ()
#17 0x100acf80 in get_next_display_element ()
#18 0x100bd448 in display_line ()
#19 0x100ccba0 in try_window.constprop.53 ()
#20 0x100e8f28 in redisplay_window ()
#21 0x100ebfbc in redisplay_window_0 ()
#22 0x10053f4c in internal_condition_case_1 ()
#23 0x1008a4b4 in redisplay_windows ()
#24 0x100d08e0 in redisplay_internal ()
#25 0x100497c8 in read_char ()
#26 0x1004ba00 in read_key_sequence.constprop.46 ()
#27 0x1004e354 in command_loop_1 ()
#28 0x10053d94 in internal_condition_case ()
#29 0x10036c00 in command_loop_2 ()
#30 0x10053c3c in internal_catch ()
#31 0x1003e414 in recursive_edit_1 ()
#32 0x1003e630 in Frecursive_edit ()
#33 0x10000ee4 in main ()

--
Gilles . 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_7o6J9mV1cEzIzdmcNPCkdA)-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 05:45:34 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 09:45:34 +0000 Received: from localhost ([127.0.0.1]:34007 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpaQM-0006po-27 for submit@debbugs.gnu.org; Wed, 28 May 2014 05:45:34 -0400 Received: from forward4l.mail.yandex.net ([84.201.143.137]:41908) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpaQG-0006pQ-3y for 17598@debbugs.gnu.org; Wed, 28 May 2014 05:45:28 -0400 Received: from smtp9.mail.yandex.net (smtp9.mail.yandex.net [77.88.61.35]) by forward4l.mail.yandex.net (Yandex) with ESMTP id 754B1144141C; Wed, 28 May 2014 13:45:17 +0400 (MSK) Received: from smtp9.mail.yandex.net (localhost [127.0.0.1]) by smtp9.mail.yandex.net (Yandex) with ESMTP id 1FBB215206DE; Wed, 28 May 2014 13:45:17 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp9.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id tDUa81TXio-jGC8Auu5; Wed, 28 May 2014 13:45:16 +0400 (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) X-Yandex-Uniq: c6f5ef92-bbdb-41d3-948b-3016fc20005b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1401270316; bh=1Ft9NERIFwgvemKcwmxqZdwA5mXY52p9NXM4HoptG+M=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=vyZ8nBdl4lPN7sKB7EcWCqdJdFzfdg8vZ6NspihLbX0HTB+dg8rUBB0vAIDh3AsDR m+au5AEarB+6/iW6GQX6LCt8rS+tuZ5TmfWBVy3kWhVUGr7zKnTGzOpZ3DruzORj0u YIRrjmAXq09DkfJqEzvnJFMpr5wukDv/rLaV1UHE= Authentication-Results: smtp9.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <5385B02C.4030208@yandex.ru> Date: Wed, 28 May 2014 13:45:16 +0400 From: Dmitry Antipov 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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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.0 (/) On 05/28/2014 12:40 PM, Gilles PION wrote: > So you're right, the issue is not unexec related So you have a few irregular crashes, more or less related to memory allocation. If this is applicable to your AIX version, can you try some recipes from the following article: http://www.ibm.com/developerworks/aix/library/au-mallocdebug.html > > > What happens if you run "./configure --enable-checking=all && make"? [skip] > The previous run uses "temacs" from a new build using those suggested "configure" parameters, These parameters assumes '-O2 -g3' or at least '-g', so your gdb backtrace should include file names, line numbers and (some) function parameters. But your backtrace looks like from stripped binary or the binary compiled without debug info. > backtrace: > (gdb) where > #0 0xd0508b20 in pthread_kill () from /usr/lib/libpthread.a(shr_xpg5.o) > #1 0xd0507f8c in _p_raise () from /usr/lib/libpthread.a(shr_xpg5.o) > #2 0x1000c4f8 in terminate_due_to_signal () > #3 0x1003483c in emacs_abort () > #4 0x10020a04 in xfree () How the emacs_abort() was called here? AFAICS xfree() doesn't call it directly. Dmitry From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 05:58:14 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 09:58:14 +0000 Received: from localhost ([127.0.0.1]:34012 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wpacc-0007Ey-Lr for submit@debbugs.gnu.org; Wed, 28 May 2014 05:58:14 -0400 Received: from cantor2.suse.de ([195.135.220.15]:58261 helo=mx2.suse.de) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpacX-0007Ei-F4 for 17598@debbugs.gnu.org; Wed, 28 May 2014 05:58:09 -0400 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 55284AC14; Wed, 28 May 2014 09:58:04 +0000 (UTC) From: Andreas Schwab To: Dmitry Antipov Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> X-Yow: ...Get me a GIN and TONIC!!...make it HAIR TONIC!! Date: Wed, 28 May 2014 11:58:03 +0200 In-Reply-To: <5385B02C.4030208@yandex.ru> (Dmitry Antipov's message of "Wed, 28 May 2014 13:45:16 +0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -5.7 (-----) X-Debbugs-Envelope-To: 17598 Cc: Gilles PION , 17598@debbugs.gnu.org, Paul Eggert 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 (-----) Dmitry Antipov writes: >> (gdb) where >> #0 0xd0508b20 in pthread_kill () from /usr/lib/libpthread.a(shr_xpg5.o) >> #1 0xd0507f8c in _p_raise () from /usr/lib/libpthread.a(shr_xpg5.o) >> #2 0x1000c4f8 in terminate_due_to_signal () >> #3 0x1003483c in emacs_abort () >> #4 0x10020a04 in xfree () > > How the emacs_abort() was called here? AFAICS xfree() doesn't call it directly. But via unblock_input. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 08:03:18 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 12:03:18 +0000 Received: from localhost ([127.0.0.1]:34057 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpcZd-0004A3-CB for submit@debbugs.gnu.org; Wed, 28 May 2014 08:03:18 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:9114 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpcZW-00049P-KQ for 17598@debbugs.gnu.org; Wed, 28 May 2014 08:03:11 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1164497; Wed, 28 May 2014 14:02:58 +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 <0N6A005N49GXR4@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 28 May 2014 14:02:57 +0200 (MEST) Date: Wed, 28 May 2014 14:02:55 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <5385B02C.4030208@yandex.ru> To: Dmitry Antipov 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 28/05/2014 14:02:57, Serialize complete at 28/05/2014 14:02:57 X-KeepSent: 5BEE4F9F:234FEB41-C1257CE6:0041F884; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> Content-Type: multipart/alternative; boundary="Boundary_(ID_qSNbraOJQzc23ooLlH4SSw)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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_qSNbraOJQzc23ooLlH4SSw) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > These parameters assumes '-O2 -g3' or at least '-g', so your gdb > backtrace should > include file names, line numbers and (some) function parameters. But > your backtrace > looks like from stripped binary or the binary compiled without debug info. You're right, I was using "CFLAGS=-O3", Now rebuild with "CFLAGS="-O3 -g3" here's the backtrace: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1] 0xd013d94c in rightmost () from /usr/lib/libc.a(shr.o) (gdb) where #0 0xd013d94c in rightmost () from /usr/lib/libc.a(shr.o) #1 0xd013eb28 in free_y () from /usr/lib/libc.a(shr.o) #2 0xd0129a74 in free_common () from /usr/lib/libc.a(shr.o) #3 0xd11ff294 in XFreeFontNames@AF6_3 () from /usr/lib/libX11.a(shr4.o) #4 0x1028a04c in xfont_list_pattern (display=0x20837f98, pattern=0x2ff1da48 "-misc-fixed-*-*-*--*-*-*-*-*-*-iso8859-1", registry=542476962, script=1210196514) at xfont.c:142 #5 0x1028aef4 in xfont_list (f=0x1, spec=542396093) at xfont.c:516 #6 0x102725c0 in font_list_entities (f=0x20ce1e88, spec=552058821) at font.c:2758 #7 0x1027548c in font_find_for_lface.constprop.12 (f=0x20ce1e88, attrs=0x2ff1e058, spec=5) at font.c:129 #8 0x10275bc8 in font_load_for_lface (f=0x20ce1e88, attrs=0x2ff1e058, spec=552075205) at font.c:3302 #9 0x1025b508 in realize_face (cache=0x20ae2c18, attrs=0x2ff1e058, former_face_id=542425624) at xfaces.c:5568 #10 0x1025d9b8 in lookup_face.isra.22 (ISRA.742=0x20ce1ee0, attr=0x2ff1e058) at xfaces.c:4453 #11 0x10261774 in face_at_buffer_position (w=0x0, pos=1, endptr=0x2ff1e128, limit=542062760, mouse=560775400, base_face_id=0) at xfaces.c:6057 #12 0x100c1928 in handle_face_prop (it=0x2ff1f4f8) at xdisp.c:3873 #13 0x100a90b8 in handle_stop (it=0x2ff1f4f8) at xdisp.c:3377 #14 0x100c245c in next_element_from_buffer (it=0x2ff1f4f8) at xdisp.c:8175 #15 0x100ad668 in get_next_display_element (it=0x2ff1f4f8) at xdisp.c:6807 #16 0x100bdb30 in display_line (it=0x2ff1f4f8) at xdisp.c:19902 #17 0x100cd2a8 in try_window.constprop.53 (window=1) at xdisp.c:16719 #18 0x100e9650 in redisplay_window (window=550387341, just_this_one_p=false) at xdisp.c:16198 #19 0x100ec6e4 in redisplay_window_0 (window=1) at xdisp.c:14191 #20 0x10054464 in internal_condition_case_1 ( bfun=@0x202233e4: 0x100ec6a0 , arg=550387341, handlers=-1431589715, hfun=@0x202233f0: 0x100838f0 ) at eval.c:1378 #21 0x1008ab3c in redisplay_windows (window=-260271624) at xdisp.c:14171 #22 0x100d0fe8 in redisplay_internal () at xdisp.c:13770 #23 0x10049cd0 in read_char (commandflag=1, map=562883446, prev_event=542216242, used_mouse_menu=0x2ff225bc, end_time=0x0) at keyboard.c:2570 #24 0x1004bf08 in read_key_sequence.constprop.46 (keybuf=0x2ff22698, prompt=542216242, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9087 #25 0x1004e85c in command_loop_1 () at keyboard.c:1452 #26 0x100542ac in internal_condition_case ( bfun=@0x2021eab8: 0x1004e568 , handlers=-260271624, hfun=@0x2021eac4: 0x1003c678 ) at eval.c:1354 #27 0x100370e8 in command_loop_2 (ignore=1) at keyboard.c:1177 #28 0x10054154 in internal_catch (tag=542282210, func=@0x202240bc: 0x10037098 , arg=542216242) at eval.c:1118 #29 0x1003e8ec in recursive_edit_1 () at keyboard.c:1156 #30 0x1003eb08 in Frecursive_edit () at keyboard.c:848 #31 0x10000ee4 in main (argc=542368394, argv=0x2ff22a8c) at emacs.c:1646 (gdb) . 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_qSNbraOJQzc23ooLlH4SSw) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT > These parameters assumes '-O2 -g3' or at least '-g', so your gdb
> backtrace should
> include file names, line numbers and (some) function parameters. But
> your backtrace
> looks like from stripped binary or the binary compiled without debug info.


You're right, I was using "CFLAGS=-O3",

Now rebuild with "CFLAGS="-O3 -g3" here's the backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1]
0xd013d94c in rightmost () from /usr/lib/libc.a(shr.o)
(gdb) where
#0  0xd013d94c in rightmost () from /usr/lib/libc.a(shr.o)
#1  0xd013eb28 in free_y () from /usr/lib/libc.a(shr.o)
#2  0xd0129a74 in free_common () from /usr/lib/libc.a(shr.o)
#3  0xd11ff294 in XFreeFontNames@AF6_3 () from /usr/lib/libX11.a(shr4.o)
#4  0x1028a04c in xfont_list_pattern (display=0x20837f98,
    pattern=0x2ff1da48 "-misc-fixed-*-*-*--*-*-*-*-*-*-iso8859-1",
    registry=542476962, script=1210196514) at xfont.c:142
#5  0x1028aef4 in xfont_list (f=0x1, spec=542396093) at xfont.c:516
#6  0x102725c0 in font_list_entities (f=0x20ce1e88, spec=552058821)
    at font.c:2758
#7  0x1027548c in font_find_for_lface.constprop.12 (f=0x20ce1e88,
    attrs=0x2ff1e058, spec=5) at font.c:129
#8  0x10275bc8 in font_load_for_lface (f=0x20ce1e88, attrs=0x2ff1e058,
    spec=552075205) at font.c:3302
#9  0x1025b508 in realize_face (cache=0x20ae2c18, attrs=0x2ff1e058,
    former_face_id=542425624) at xfaces.c:5568
#10 0x1025d9b8 in lookup_face.isra.22 (ISRA.742=0x20ce1ee0, attr=0x2ff1e058)
    at xfaces.c:4453
#11 0x10261774 in face_at_buffer_position (w=0x0, pos=1, endptr=0x2ff1e128,
    limit=542062760, mouse=560775400, base_face_id=0) at xfaces.c:6057
#12 0x100c1928 in handle_face_prop (it=0x2ff1f4f8) at xdisp.c:3873
#13 0x100a90b8 in handle_stop (it=0x2ff1f4f8) at xdisp.c:3377
#14 0x100c245c in next_element_from_buffer (it=0x2ff1f4f8) at xdisp.c:8175
#15 0x100ad668 in get_next_display_element (it=0x2ff1f4f8) at xdisp.c:6807
#16 0x100bdb30 in display_line (it=0x2ff1f4f8) at xdisp.c:19902
#17 0x100cd2a8 in try_window.constprop.53 (window=1) at xdisp.c:16719
#18 0x100e9650 in redisplay_window (window=550387341, just_this_one_p=false)
    at xdisp.c:16198
#19 0x100ec6e4 in redisplay_window_0 (window=1) at xdisp.c:14191
#20 0x10054464 in internal_condition_case_1 (
    bfun=@0x202233e4: 0x100ec6a0 <redisplay_window_0>, arg=550387341,
    handlers=-1431589715,
    hfun=@0x202233f0: 0x100838f0 <redisplay_window_error>) at eval.c:1378
#21 0x1008ab3c in redisplay_windows (window=-260271624) at xdisp.c:14171
#22 0x100d0fe8 in redisplay_internal () at xdisp.c:13770
#23 0x10049cd0 in read_char (commandflag=1, map=562883446,
    prev_event=542216242, used_mouse_menu=0x2ff225bc, end_time=0x0)
    at keyboard.c:2570
#24 0x1004bf08 in read_key_sequence.constprop.46 (keybuf=0x2ff22698,
    prompt=542216242, dont_downcase_last=false, can_return_switch_frame=true,
    fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9087
#25 0x1004e85c in command_loop_1 () at keyboard.c:1452
#26 0x100542ac in internal_condition_case (
    bfun=@0x2021eab8: 0x1004e568 <command_loop_1>, handlers=-260271624,
    hfun=@0x2021eac4: 0x1003c678 <cmd_error>) at eval.c:1354
#27 0x100370e8 in command_loop_2 (ignore=1) at keyboard.c:1177
#28 0x10054154 in internal_catch (tag=542282210,
    func=@0x202240bc: 0x10037098 <command_loop_2>, arg=542216242)
    at eval.c:1118
#29 0x1003e8ec in recursive_edit_1 () at keyboard.c:1156
#30 0x1003eb08 in Frecursive_edit () at keyboard.c:848
#31 0x10000ee4 in main (argc=542368394, argv=0x2ff22a8c) at emacs.c:1646
(gdb)
. 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_qSNbraOJQzc23ooLlH4SSw)-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 08:13:34 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 12:13:34 +0000 Received: from localhost ([127.0.0.1]:34063 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpcjZ-0004UE-Tr for submit@debbugs.gnu.org; Wed, 28 May 2014 08:13:34 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:9192 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpcjS-0004Tl-LS for 17598@debbugs.gnu.org; Wed, 28 May 2014 08:13:28 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1164915; Wed, 28 May 2014 14:13:12 +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 <0N6A005SI9Y0R4@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 28 May 2014 14:13:12 +0200 (MEST) Date: Wed, 28 May 2014 14:13:10 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <5385B02C.4030208@yandex.ru> To: Dmitry Antipov 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 28/05/2014 14:13:12, Serialize complete at 28/05/2014 14:13:12 X-KeepSent: E040C390:BD1D7392-C1257CE6:00430748; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> Content-Type: multipart/alternative; boundary="Boundary_(ID_lHU03R00bQDKPYYEJRVL4g)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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_lHU03R00bQDKPYYEJRVL4g) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > So you have a few irregular crashes, more or less related to memory > allocation. > If this is applicable to your AIX version, can you try some recipes from the > following article: > > http://www.ibm.com/developerworks/aix/library/au-mallocdebug.html Ouch! $ MALLOCTYPE=debug MALLOEBUG=validate_ptrs ./emacs-24.3.91/src/temacs --no-site-file --no-init-file Fatal error 11: Segmentation violationMemory fault -- Gilles . 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_lHU03R00bQDKPYYEJRVL4g) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT > So you have a few irregular crashes, more or less related to memory
> allocation.
> If this is applicable to your AIX version, can you try some recipes from the
> following article:
>
>
http://www.ibm.com/developerworks/aix/library/au-mallocdebug.html

Ouch!

$ MALLOCTYPE=debug MALLOEBUG=validate_ptrs  ./emacs-24.3.91/src/temacs  --no-site-file  --no-init-file
Fatal error 11: Segmentation violationMemory fault

--
Gilles . 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_lHU03R00bQDKPYYEJRVL4g)-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 10:08:19 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 14:08:19 +0000 Received: from localhost ([127.0.0.1]:34620 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpeWd-0007ih-DV for submit@debbugs.gnu.org; Wed, 28 May 2014 10:08:19 -0400 Received: from forward5l.mail.yandex.net ([84.201.143.138]:52157) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpeWX-0007iK-DM for 17598@debbugs.gnu.org; Wed, 28 May 2014 10:08:13 -0400 Received: from smtp9.mail.yandex.net (smtp9.mail.yandex.net [77.88.61.35]) by forward5l.mail.yandex.net (Yandex) with ESMTP id B7AA8C412FE; Wed, 28 May 2014 18:08:02 +0400 (MSK) Received: from smtp9.mail.yandex.net (localhost [127.0.0.1]) by smtp9.mail.yandex.net (Yandex) with ESMTP id 4A40715207D2; Wed, 28 May 2014 18:08:02 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp9.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id oA1AZgJpR5-81CebSbN; Wed, 28 May 2014 18:08:01 +0400 (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) X-Yandex-Uniq: e3981cda-4d4e-42c6-9beb-af6e0d0b1741 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1401286081; bh=lg+UC/wHYs7mU8Gt0ljTxGLdYGCMkPz4roSbxChyPd8=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=ROa25DrrIK5ejq72qzz+3h0OOtPpgnYppgB3f/qPiXfLsDi3kz9bdIFYmaZdk9HQB OPqvvz80K69Iem9l0JF5e0ezdSkx8rTkqpvidlTkW/ebVaCzzUCKexR+qVnOeRiDq/ peTy/VZTCB+u0NTrxBLhlDwWYUyf2gC5PGuCxHH4= Authentication-Results: smtp9.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <5385EDC1.1040803@yandex.ru> Date: Wed, 28 May 2014 18:08:01 +0400 From: Dmitry Antipov 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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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.0 (/) On 05/28/2014 04:13 PM, Gilles PION wrote: > $ MALLOCTYPE=debug MALLOEBUG=validate_ptrs ./emacs-24.3.91/src/temacs --no-site-file --no-init-file > Fatal error 11: Segmentation violationMemory fault Are there some more specific messages about memory-related errors? Most malloc debuggers can handle typical errors like double free or writing before begin / past end of block. It's almost impossible to understand what's wrong with #0 0xd013d94c in rightmost () from /usr/lib/libc.a(shr.o) #1 0xd013eb28 in free_y () from /usr/lib/libc.a(shr.o) #2 0xd0129a74 in free_common () from /usr/lib/libc.a(shr.o) #3 0xd11ff294 in XFreeFontNames@AF6_3 () from /usr/lib/libX11.a(shr4.o) without a solid cooperation from the malloc debugging facilities. And, as usual with weird problems, please try '-O0 -g3' (i.e. avoid any optimizations). Dmitry From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 10:27:23 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 14:27:23 +0000 Received: from localhost ([127.0.0.1]:34640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wpep4-0000uy-7y for submit@debbugs.gnu.org; Wed, 28 May 2014 10:27:22 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:33071) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wpeox-0000ud-3Z for 17598@debbugs.gnu.org; Wed, 28 May 2014 10:27:16 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 37696A60015; Wed, 28 May 2014 07:27:03 -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 v3yEjooxj+U2; Wed, 28 May 2014 07:26:54 -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 8686839E8008; Wed, 28 May 2014 07:26:54 -0700 (PDT) Message-ID: <5385F229.9020609@cs.ucla.edu> Date: Wed, 28 May 2014 07:26:49 -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 , Dmitry Antipov Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> 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: 17598 Cc: 17598@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: > $ MALLOCTYPE=debug MALLOEBUG=validate_ptrs ./emacs-24.3.91/src/temacs > --no-site-file --no-init-file > Fatal error 11: Segmentation violationMemory fault > Have you gone back to the 24.3.91 unexaix.c (with the short fix I sent you), or are you using the much bigger change I sent you later? For now I'll assume the former. Also, I assume you're still configuring with --enable-checking=all. Unfortunately AIX uses the relocating allocator in ralloc.c, not the system malloc, so MALLOCTYPE and MALLOCDEBUG (misspelled above) aren't likely to be helpful. If you want to try the system malloc, please comment out "#define REL_ALLOC 1" in src/config.h, change "#undef SYSTEM_MALLOC" to "#define SYSTEM_MALLOC 1" in the same file, and comment out "RALLOC_OBJ=ralloc.o" in src/Makefile (though now of course we're debugging a different program....). Also, did you actually use "MALLOEBUG"? That looks like a typo. Once you've fixed the above, how about this? MALLOCTYPE=debug MALLOCDEBUG=postfree_checking,validate_ptrs,stack_depth:1000 ./temacs -Q or this? gdb temacs (gdb) set env MALLOCTYPE debug (gdb) set env MALLOCDEBUG postfree_checking,validate_ptrs,stack_depth:200 (gdb) run -Q Please also try with the "-nw" option, e.g., "./temacs -Q -nw" or "run -Q -nw". A couple of issues that may or may not be related. On my AIX 7 host I have to configure --with-jpeg=no --with-png=no --with-gif=no --with-tiff=no because those libraries are not installed. On my platform pkg-config dumps core (don't know why) so I'm not using any of the fancy libraries you're probably using. This (along with the fact that I can't run X) makes it hard for me to reproduce the problem. From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 12:23:27 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 16:23:27 +0000 Received: from localhost ([127.0.0.1]:34742 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpgdP-0007Nd-Hy for submit@debbugs.gnu.org; Wed, 28 May 2014 12:23:27 -0400 Received: from mtaout21.012.net.il ([80.179.55.169]:64675) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpgdJ-0007ND-Hz for 17598@debbugs.gnu.org; Wed, 28 May 2014 12:23:21 -0400 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0N6A00L00L57NV00@a-mtaout21.012.net.il> for 17598@debbugs.gnu.org; Wed, 28 May 2014 19:23:10 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N6A00LY4LILNA20@a-mtaout21.012.net.il>; Wed, 28 May 2014 19:23:10 +0300 (IDT) Date: Wed, 28 May 2014 19:23:20 +0300 From: Eli Zaretskii Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <5385F229.9020609@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <8361kpj2iv.fsf@gnu.org> References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 17598 Cc: gpion@lfdj.com, 17598@debbugs.gnu.org, dmantipov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii 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: 1.0 (+) > Date: Wed, 28 May 2014 07:26:49 -0700 > From: Paul Eggert > Cc: 17598@debbugs.gnu.org > > Unfortunately AIX uses the relocating allocator in ralloc.c, not the > system malloc Does it? The backtrace Gilles posted, viz.: > (gdb) where > #0 0xd013d94c in rightmost () from /usr/lib/libc.a(shr.o) > #1 0xd013eb28 in free_y () from /usr/lib/libc.a(shr.o) > #2 0xd0129a74 in free_common () from /usr/lib/libc.a(shr.o) > #3 0xd11ff294 in XFreeFontNames@AF6_3 () from /usr/lib/libX11.a(shr4.o) > #4 0x1028a04c in xfont_list_pattern (display=0x20837f98, > pattern=0x2ff1da48 "-misc-fixed-*-*-*--*-*-*-*-*-*-iso8859-1", > registry=542476962, script=1210196514) at xfont.c:142 doesn't seem to have gmalloc and ralloc functions anywhere in sight, it looks like a call to 'free' in the system libc to me. Am I missing something? From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 12:34:28 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 16:34:28 +0000 Received: from localhost ([127.0.0.1]:34751 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wpgo1-0007fL-Lx for submit@debbugs.gnu.org; Wed, 28 May 2014 12:34:27 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:40405) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wpgnz-0007f0-I4 for 17598@debbugs.gnu.org; Wed, 28 May 2014 12:34:20 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 941B6A60019; Wed, 28 May 2014 09:34:13 -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 HMybQ5PcRKEV; Wed, 28 May 2014 09:34:05 -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 EE4A6A60017; Wed, 28 May 2014 09:34:04 -0700 (PDT) Message-ID: <53860FFC.6050306@cs.ucla.edu> Date: Wed, 28 May 2014 09:34:04 -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: Eli Zaretskii Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> In-Reply-To: <8361kpj2iv.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17598 Cc: gpion@lfdj.com, 17598@debbugs.gnu.org, dmantipov@yandex.ru 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 (---) Eli Zaretskii wrote: >> >Unfortunately AIX uses the relocating allocator in ralloc.c, not the >> >system malloc > Does it? It does in the AIX 7 version that I built, yes. > it looks like a call to 'free' in the system libc to me. Am I missing something? It's linker magic. Both the system malloc and the ralloc.c-supplied malloc are available, and both are used: Emacs uses the ralloc version and library functions like XFreeFontNames use the system malloc. This mixture of system and ralloc-supplied malloc might be causing Gilles's problem, which is partly why I suggested that he build with the system malloc only. From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 12:40:58 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 16:40:58 +0000 Received: from localhost ([127.0.0.1]:34760 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpguP-0007qt-4o for submit@debbugs.gnu.org; Wed, 28 May 2014 12:40:58 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:11766 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpguK-0007qa-Go for 17598@debbugs.gnu.org; Wed, 28 May 2014 12:40:54 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1177043; Wed, 28 May 2014 18:40:43 +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 <0N6A00AMHMBTA3@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 28 May 2014 18:40:43 +0200 (MEST) Date: Wed, 28 May 2014 18:40:37 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <5385F229.9020609@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 28/05/2014 18:40:43, Serialize complete at 28/05/2014 18:40:43 X-KeepSent: 4D3363CB:04FD0B5D-C1257CE6:00509DAD; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_fuRmEpPO9hM58q9984L8zA)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov 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_fuRmEpPO9hM58q9984L8zA) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > $ MALLOCTYPE=debug MALLOEBUG=validate_ptrs ./emacs-24.3.91/src/temacs > > --no-site-file --no-init-file > > Fatal error 11: Segmentation violationMemory fault > > > > Have you gone back to the 24.3.91 unexaix.c (with the short fix I sent > you), or are you using the much bigger change I sent you later? For now > I'll assume the former. Also, I assume you're still configuring with > --enable-checking=all. I was using the latest unexaix.c, going back to previous one now > > Unfortunately AIX uses the relocating allocator in ralloc.c, not the > system malloc, so MALLOCTYPE and MALLOCDEBUG (misspelled above) aren't > likely to be helpful. If you want to try the system malloc, please > comment out "#define REL_ALLOC 1" in src/config.h, change "#undef > SYSTEM_MALLOC" to "#define SYSTEM_MALLOC 1" in the same file, and > comment out "RALLOC_OBJ=ralloc.o" in src/Makefile (though now of course > we're debugging a different program....). OK, recompiling with those fixes (after configuring using "CFLAGS="-O0 -g3" ): 1rst step: ./configure 2nd step: fix src/config.h as indicated 3rd step make > > Also, did you actually use "MALLOEBUG"? That looks like a typo. You're right, sorry. > > Once you've fixed the above, how about this? > > MALLOCTYPE=debug > MALLOCDEBUG=postfree_checking,validate_ptrs,stack_depth:1000 ./temacs -Q $ MALLOCTYPE=debug MALLOCDEBUG=postfree_checking,validate_ptrs,stack_depth:1000 ./temacs -Q Fatal error 11: Segmentation violationMemory fault > > or this? > > gdb temacs > (gdb) set env MALLOCTYPE debug > (gdb) set env MALLOCDEBUG postfree_checking,validate_ptrs,stack_depth:200 > (gdb) run -Q (gdb) set env MALLOCTYPE debug (gdb) set env MALLOCDEBUG postfree_checking,validate_ptrs,stack_depth:200 (gdb) run -Q Starting program: /sg/paxdev01/D1stunix/src/emacs/24.3.91/emacs-24.3.91/src/temacs -Q [New Thread 1] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1] 0xd0128c78 in extend_brk () from /usr/lib/libc.a(shr.o) (gdb) where #0 0xd0128c78 in extend_brk () from /usr/lib/libc.a(shr.o) > > Please also try with the "-nw" option, e.g., "./temacs -Q -nw" or "run > -Q -nw". It's the same Note that the immediate crash occurs only when MALLOC* variables are defined. > > A couple of issues that may or may not be related. On my AIX 7 host I > have to configure --with-jpeg=no --with-png=no --with-gif=no > --with-tiff=no because those libraries are not installed. On my > platform pkg-config dumps core (don't know why) so I'm not using any of > the fancy libraries you're probably using. This (along with the fact > that I can't run X) makes it hard for me to reproduce the problem. I understand, I've also disabled graphic libraries execpt png (using a emacs dedicated version) I'm on aix 6.1, since I've been unable to compile on AIX 7.1: configure: error: Emacs does not support `powerpc-ibm-aix7.1.0.0' systems. If you think it should, please send a report to bug-gnu-emacs@gnu.org. Check `etc/MACHINES' for recognized configuration names. Used gcc binary from 6.1 there ^^^ Since I'missing native 7.1 compatible compiler to re-boostrap gcc. NB: I won't be reachable at my office tomorrow, will return only friday Next week, won't be very available until Thursday too. -- Gilles . 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_fuRmEpPO9hM58q9984L8zA) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT > > $ MALLOCTYPE=debug MALLOEBUG=validate_ptrs  ./emacs-24.3.91/src/temacs
> > --no-site-file  --no-init-file
> > Fatal error 11: Segmentation violationMemory fault
> >
>
> Have you gone back to the 24.3.91 unexaix.c (with the short fix I sent
> you), or are you using the much bigger change I sent you later?  For now
> I'll assume the former.  Also, I assume you're still configuring with
> --enable-checking=all.

I was using the latest unexaix.c, going back to previous one now

>
> Unfortunately AIX uses the relocating allocator in ralloc.c, not the
> system malloc, so MALLOCTYPE and MALLOCDEBUG (misspelled above) aren't
> likely to be helpful.  If you want to try the system malloc, please
> comment out "#define REL_ALLOC 1" in src/config.h, change "#undef
> SYSTEM_MALLOC" to "#define SYSTEM_MALLOC 1" in the same file, and
> comment out "RALLOC_OBJ=ralloc.o" in src/Makefile (though now of course
> we're debugging a different program....).


OK, recompiling with those fixes (after configuring using "CFLAGS="-O0 -g3" ):
1rst step: ./configure
2nd step: fix src/config.h as indicated
3rd step make

>
> Also, did you actually use "MALLOEBUG"?  That looks like a typo.

You're right, sorry.

>
> Once you've fixed the above, how about this?
>
> MALLOCTYPE=debug
> MALLOCDEBUG=postfree_checking,validate_ptrs,stack_depth:1000 ./temacs -Q


$ MALLOCTYPE=debug   MALLOCDEBUG=postfree_checking,validate_ptrs,stack_depth:1000 ./temacs -Q
Fatal error 11: Segmentation violationMemory fault

>
> or this?
>
> gdb temacs
> (gdb) set env MALLOCTYPE debug
> (gdb) set env MALLOCDEBUG postfree_checking,validate_ptrs,stack_depth:200
> (gdb) run -Q


(gdb) set env MALLOCTYPE debug
(gdb) set env MALLOCDEBUG postfree_checking,validate_ptrs,stack_depth:200
(gdb) run -Q
Starting program: /sg/paxdev01/D1stunix/src/emacs/24.3.91/emacs-24.3.91/src/temacs -Q
[New Thread 1]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1]
0xd0128c78 in extend_brk () from /usr/lib/libc.a(shr.o)
(gdb) where
#0  0xd0128c78 in extend_brk () from /usr/lib/libc.a(shr.o)

>
> Please also try with the "-nw" option, e.g., "./temacs -Q -nw" or "run
> -Q -nw".

It's the same

Note that  the immediate crash occurs only when MALLOC* variables are defined.

>
> A couple of issues that may or may not be related.  On my AIX 7 host I
> have to configure --with-jpeg=no --with-png=no --with-gif=no
> --with-tiff=no because those libraries are not installed.  On my
> platform pkg-config dumps core (don't know why) so I'm not using any of
> the fancy libraries you're probably using.  This (along with the fact
> that I can't run X) makes it hard for me to reproduce the problem.


I understand, I've also disabled graphic libraries execpt png (using a emacs dedicated version)

I'm on aix 6.1, since I've been unable to compile on AIX 7.1:

configure: error: Emacs does not support `powerpc-ibm-aix7.1.0.0' systems.
If you think it should, please send a report to bug-gnu-emacs@gnu.org.
Check `etc/MACHINES' for recognized configuration names.

Used gcc binary from 6.1 there ^^^

Since I'missing native 7.1 compatible compiler to re-boostrap gcc.


NB: I won't be reachable at my office tomorrow, will return only friday

Next week, won't be very available until Thursday too.

--
Gilles

. 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_fuRmEpPO9hM58q9984L8zA)-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 12:43:40 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 16:43:40 +0000 Received: from localhost ([127.0.0.1]:34767 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wpgx1-0007vl-J9 for submit@debbugs.gnu.org; Wed, 28 May 2014 12:43:40 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:11779 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wpgwz-0007vX-Gi for 17598@debbugs.gnu.org; Wed, 28 May 2014 12:43:38 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1177114; Wed, 28 May 2014 18:43:28 +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 <0N6A00AQXMGGA3@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 28 May 2014 18:43:28 +0200 (MEST) Date: Wed, 28 May 2014 18:43:25 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <53860FFC.6050306@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 28/05/2014 18:43:28, Serialize complete at 28/05/2014 18:43:28 X-KeepSent: FAE719BA:CD1AFFCA-C1257CE6:005BA8C5; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_/+66VksKor+Rgd2NUdoW9w)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Eli Zaretskii , dmantipov@yandex.ru 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_/+66VksKor+Rgd2NUdoW9w) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > Eli Zaretskii wrote: > >> >Unfortunately AIX uses the relocating allocator in ralloc.c, not the > >> >system malloc > > Does it? > > It does in the AIX 7 version that I built, yes. I'm running on AIX 6.1, "configure" fails on 7.1 for me: checking build system type... powerpc-ibm-aix7.1.0.0 checking host system type... powerpc-ibm-aix7.1.0.0 configure: error: Emacs does not support `powerpc-ibm-aix7.1.0.0' systems. If you think it should, please send a report to bug-gnu-emacs@gnu.org. Check `etc/MACHINES' for recognized configuration names. -- Gilles . 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_/+66VksKor+Rgd2NUdoW9w) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT

> Eli Zaretskii wrote:
> >> >Unfortunately AIX uses the relocating allocator in ralloc.c, not the
> >> >system malloc
> > Does it?
>
> It does in the AIX 7 version that I built, yes.


I'm running on AIX 6.1, "configure" fails on 7.1 for me:

checking build system type... powerpc-ibm-aix7.1.0.0
checking host system type... powerpc-ibm-aix7.1.0.0
configure: error: Emacs does not support `powerpc-ibm-aix7.1.0.0' systems.
If you think it should, please send a report to bug-gnu-emacs@gnu.org.
Check `etc/MACHINES' for recognized configuration names.

--

Gilles
. 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_/+66VksKor+Rgd2NUdoW9w)-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 13:32:49 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 17:32:49 +0000 Received: from localhost ([127.0.0.1]:34783 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wphia-0000kZ-PX for submit@debbugs.gnu.org; Wed, 28 May 2014 13:32:49 -0400 Received: from forward4l.mail.yandex.net ([84.201.143.137]:51900) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WphiX-0000kB-Cq for 17598@debbugs.gnu.org; Wed, 28 May 2014 13:32:46 -0400 Received: from smtp19.mail.yandex.net (smtp19.mail.yandex.net [95.108.252.19]) by forward4l.mail.yandex.net (Yandex) with ESMTP id B4FC81441301; Wed, 28 May 2014 21:32:38 +0400 (MSK) Received: from smtp19.mail.yandex.net (localhost [127.0.0.1]) by smtp19.mail.yandex.net (Yandex) with ESMTP id 4B271BE00AB; Wed, 28 May 2014 21:32:38 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp19.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id sd5IPmKCYo-WbUCuu2p; Wed, 28 May 2014 21:32:37 +0400 (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) X-Yandex-Uniq: e1dc9762-cc02-4d44-b2ff-01c68c3240fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1401298357; bh=khY/2OYzSMfGncUxLCPjqBBWdom2NW76K21Rxoku7Eo=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=wdZsmTl0xlNcZw96bBllgcmoGIHVED0clyTiMTTPI2xy77yz2mrPKaL57S4menHIe QGTqxteaPZsDGLG7SRqij9YFEriDVUEz1BXLrm0cxhP1ZpKls5q2dFLFjN5ugo4bb6 GPXeU/50bMLgJfpmWHVGHn43m+0wUFhC3CP3DrVc= Authentication-Results: smtp19.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <53861DB5.9020803@yandex.ru> Date: Wed, 28 May 2014 21:32:37 +0400 From: Dmitry Antipov 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 , Paul Eggert Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@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.0 (/) On 05/28/2014 08:43 PM, Gilles PION wrote: > I'm running on AIX 6.1, "configure" fails on 7.1 for me: > > checking build system type... powerpc-ibm-aix7.1.0.0 > checking host system type... powerpc-ibm-aix7.1.0.0 > configure: error: Emacs does not support `powerpc-ibm-aix7.1.0.0' systems. > If you think it should, please send a report to bug-gnu-emacs@gnu.org. > Check `etc/MACHINES' for recognized configuration names. Hopefully this may be fixed with just: --- emacs-24.3.91/configure.ac 2014-05-28 12:28:29.000000000 -0500 +++ emacs-24.3.91/configure.ac 2014-05-28 12:28:58.000000000 -0500 @@ -550,7 +550,7 @@ rs6000-ibm-aix[56]* ) opsys=aix4-2 ;; - powerpc-ibm-aix[56]* ) + powerpc-ibm-aix[5-9]* | powerpc-ibm-aix[1-9][0-9]* ) opsys=aix4-2 ;; Shouldn't we backport this from trunk? Dmitry From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 13:46:11 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 17:46:11 +0000 Received: from localhost ([127.0.0.1]:34796 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WphvW-0001Cp-OH for submit@debbugs.gnu.org; Wed, 28 May 2014 13:46:11 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:44844) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WphvU-0001CU-B0 for 17598@debbugs.gnu.org; Wed, 28 May 2014 13:46:09 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 22F67A60017; Wed, 28 May 2014 10:46:02 -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 PlOV6q9MMoks; Wed, 28 May 2014 10:45:58 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id EF0F7A60021; Wed, 28 May 2014 10:45:57 -0700 (PDT) Message-ID: <538620D1.9070403@cs.ucla.edu> Date: Wed, 28 May 2014 10:45:53 -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: Dmitry Antipov , Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <53861DB5.9020803@yandex.ru> In-Reply-To: <53861DB5.9020803@yandex.ru> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Stefan Monnier 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 (---) On 05/28/2014 10:32 AM, Dmitry Antipov wrote: > Shouldn't we backport this from trunk? I installed it into the trunk because it's not a regression from 24.1 . It'd make sense to install it into emacs-24 too, though; I'll CC: this to Stefan to ask him. Stefan, is it OK to fix emacs-24's configure.ac to treat AIX 7+ like earlier AIX releases, as Dmitry suggests? From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 13:54:48 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 17:54:49 +0000 Received: from localhost ([127.0.0.1]:34802 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wpi3n-0001T0-VU for submit@debbugs.gnu.org; Wed, 28 May 2014 13:54:48 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:45434) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wpi3h-0001Sb-GW for 17598@debbugs.gnu.org; Wed, 28 May 2014 13:54:42 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id B6B4FA60029; Wed, 28 May 2014 10:54:31 -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 w-NbFzEocXWS; Wed, 28 May 2014 10:54:23 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 43FF2A60021; Wed, 28 May 2014 10:54:23 -0700 (PDT) Message-ID: <538622CF.2080300@cs.ucla.edu> Date: Wed, 28 May 2014 10:54:23 -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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@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: 17598 Cc: 17598@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 (---) On 05/28/2014 09:43 AM, Gilles PION wrote: > configure: error: Emacs does not support `powerpc-ibm-aix7.1.0.0' > systems. One way to work around that bug, without editing 'configure', is to configure this way: ./configure powerpc-ibm-aix6 This should work even on AIX 7. From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 14:01:41 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 18:01:41 +0000 Received: from localhost ([127.0.0.1]:34806 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpiAS-0001hd-Ej for submit@debbugs.gnu.org; Wed, 28 May 2014 14:01:41 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:45863) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpiAM-0001hB-6p for 17598@debbugs.gnu.org; Wed, 28 May 2014 14:01:35 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 4ADE4A60029; Wed, 28 May 2014 11:01:24 -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 7+97sSXw2aXd; Wed, 28 May 2014 11:01:15 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id C05C9A60021; Wed, 28 May 2014 11:01:15 -0700 (PDT) Message-ID: <5386246B.5010202@cs.ucla.edu> Date: Wed, 28 May 2014 11:01:15 -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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@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: 17598 Cc: 17598@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 (---) On 05/28/2014 09:40 AM, Gilles PION wrote: > > OK, recompiling with those fixes (after configuring using "CFLAGS="-O0 > -g3" ): > 1rst step: ./configure > 2nd step: fix src/config.h as indicated > 3rd step make Did you remember to remove the line "RALLOC_OBJ=ralloc.o" from src/Makefile? Also, to play it safe, please remove src/ralloc.o, run 'make', and make sure src/ralloc.o is not created. From debbugs-submit-bounces@debbugs.gnu.org Wed May 28 19:44:44 2014 Received: (at 17598) by debbugs.gnu.org; 28 May 2014 23:44:44 +0000 Received: from localhost ([127.0.0.1]:34925 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpnWV-00028R-VL for submit@debbugs.gnu.org; Wed, 28 May 2014 19:44:44 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:25851) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpnWS-00028C-Ov for 17598@debbugs.gnu.org; Wed, 28 May 2014 19:44:41 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArYGAIDvNVNLd/fU/2dsb2JhbABZDoJ4O4MPwD2BFxd0giUBAQEBAgFWIwULCzQSFBgNJIgECNIZF456B4Q4BJoBjxiBaoJwXCE X-IPAS-Result: ArYGAIDvNVNLd/fU/2dsb2JhbABZDoJ4O4MPwD2BFxd0giUBAQEBAgFWIwULCzQSFBgNJIgECNIZF456B4Q4BJoBjxiBaoJwXCE X-IronPort-AV: E=Sophos;i="4.97,753,1389762000"; d="scan'208";a="64908805" Received: from 75-119-247-212.dsl.teksavvy.com (HELO pastel.home) ([75.119.247.212]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 28 May 2014 19:44:34 -0400 Received: by pastel.home (Postfix, from userid 20848) id 8788F601CB; Wed, 28 May 2014 19:44:34 -0400 (EDT) From: Stefan Monnier To: Paul Eggert Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize Message-ID: References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <53861DB5.9020803@yandex.ru> <538620D1.9070403@cs.ucla.edu> Date: Wed, 28 May 2014 19:44:34 -0400 In-Reply-To: <538620D1.9070403@cs.ucla.edu> (Paul Eggert's message of "Wed, 28 May 2014 10:45:53 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 17598 Cc: Gilles PION , 17598@debbugs.gnu.org, Dmitry Antipov 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.3 (/) > Stefan, is it OK to fix emacs-24's configure.ac to treat AIX 7+ like earlier > AIX releases, as Dmitry suggests? Yes, that sounds fine, Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu May 29 00:25:44 2014 Received: (at 17598) by debbugs.gnu.org; 29 May 2014 04:25:44 +0000 Received: from localhost ([127.0.0.1]:35047 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpruR-0004no-Dn for submit@debbugs.gnu.org; Thu, 29 May 2014 00:25:43 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:46976) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WpruO-0004nX-O1 for 17598@debbugs.gnu.org; Thu, 29 May 2014 00:25:41 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id EE23EA60034; Wed, 28 May 2014 21:25:34 -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 Ne7b8roeJj-y; Wed, 28 May 2014 21:25:30 -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 102C6A60030; Wed, 28 May 2014 21:25:30 -0700 (PDT) Message-ID: <5386B6B9.7010403@cs.ucla.edu> Date: Wed, 28 May 2014 21:25:29 -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: Stefan Monnier Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <53861DB5.9020803@yandex.ru> <538620D1.9070403@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: 17598 Cc: Gilles PION , 17598@debbugs.gnu.org, Dmitry Antipov 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 (---) Stefan Monnier wrote: >> Stefan, is it OK to fix emacs-24's configure.ac to treat AIX 7+ like earlier >> >AIX releases, as Dmitry suggests? > Yes, that sounds fine, Ah, this fix was already in emacs-24 so I didn't need to bother you. The fix should appear in the next pretest. Sorry about the noise. From debbugs-submit-bounces@debbugs.gnu.org Fri May 30 03:54:54 2014 Received: (at 17598) by debbugs.gnu.org; 30 May 2014 07:54:54 +0000 Received: from localhost ([127.0.0.1]:36832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqHeQ-0007Qf-0n for submit@debbugs.gnu.org; Fri, 30 May 2014 03:54:54 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:26974 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqHeM-0007QH-C2 for 17598@debbugs.gnu.org; Fri, 30 May 2014 03:54:51 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1222650; Fri, 30 May 2014 09:54:41 +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 <0N6D007E4NB535@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Fri, 30 May 2014 09:54:41 +0200 (MEST) Date: Fri, 30 May 2014 09:54:39 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <538622CF.2080300@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 30/05/2014 09:54:41 X-KeepSent: C85DDD48:E21E1352-C1257CE8:0026B6D4; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> Content-Type: multipart/mixed; boundary="Boundary_(ID_uMkQ8Vz5Bc+EyyvcLdjEJw)" X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@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.6 (/) --Boundary_(ID_uMkQ8Vz5Bc+EyyvcLdjEJw) Content-Type: multipart/alternative; boundary="Boundary_(ID_f4FMM/ymY7IMPSc5WhtERA)" --Boundary_(ID_f4FMM/ymY7IMPSc5WhtERA) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > On 05/28/2014 09:43 AM, Gilles PION wrote: > > configure: error: Emacs does not support `powerpc-ibm-aix7.1.0.0' > > systems. > > One way to work around that bug, without editing 'configure', is to > configure this way: > > ./configure powerpc-ibm-aix6 > > This should work even on AIX 7. Tried this, now "configure" is successful but "make" fails: Warning: arch-independent data dir `/emacs-24.3.91/share/emacs/24.3.91/etc/': Invalid argument Warning: Lisp directory `/src/emacs/24.3.91/emacs-24.3.91/lisp': Invalid argument Error: charsets directory not found: /emacs-24.3.91/share/emacs/24.3.91/etc/charsets Emacs will not function correctly without the character map files. Please check your installation! Directories are present but investigating further show that strange system call ("faccessat") failures (EINVAL) occurs when temacs is running. I've attached truss output to this message Note: I'm using gcc 7.8.2 compiler boostraped and build on an AIX 6.1 host -- Gilles . 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_f4FMM/ymY7IMPSc5WhtERA) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT > On 05/28/2014 09:43 AM, Gilles PION wrote:
> > configure: error: Emacs does not support `powerpc-ibm-aix7.1.0.0'
> > systems.
>
> One way to work around that bug, without editing 'configure', is to
> configure this way:
>
> ./configure powerpc-ibm-aix6
>
> This should work even on AIX 7.


Tried this, now "configure" is successful but "make" fails:

Warning: arch-independent data dir `<TOOLSDIR>/emacs-24.3.91/share/emacs/24.3.91/etc/': Invalid argument
Warning: Lisp directory `<HOMEDIR>/src/emacs/24.3.91/emacs-24.3.91/lisp': Invalid argument
Error: charsets directory not found:
<TOOLSDIR>/emacs-24.3.91/share/emacs/24.3.91/etc/charsets
Emacs will not function correctly without the character map files.
Please check your installation!

Directories are present but investigating further show that strange system call ("faccessat") failures (EINVAL) occurs when temacs is running.
I've attached truss output to this message




Note: I'm using gcc 7.8.2 compiler boostraped and build on an AIX 6.1 host
--
Gilles
. 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_f4FMM/ymY7IMPSc5WhtERA)-- Content-Type: text/plain --Boundary_(ID_uMkQ8Vz5Bc+EyyvcLdjEJw) Content-Type: application/octet-stream; name="anonymized-truss-temacs-run.log" Content-transfer-encoding: base64 Content-disposition: attachment; filename=anonymized-truss-temacs-run.log KyB0cnVzcyAtdCAhX3NpZ2FjdGlvbixfbHNlZWssbHNlZWssa2xzZWVrLGtyZWFkLHNicmssa3dy aXRlLGdldHVpZHgsZ2V0Z2lkeCxzaWdwcm9jbWFzayx0aHJlYWRfc2V0bXltYXNrX2Zhc3QgLWYg Li9lbWFjcy0yNC4zLjkxL3NyYy90ZW1hY3MKMjUxNjU5NjI6IGV4ZWN2ZSgiLi9lbWFjcy0yNC4z LjkxL3NyYy90ZW1hY3MiLCAweDJGRjIyQTIwLCAweDIwMDEzNzU4KSAgYXJnYzogMQoyNTE2NTk2 MjogMjA3NzUwNTU6IHJlYWRfc3lzY29uZmlnKDB4RjA2Qzg3NzAsIDB4MDAwMDAwMTAsIDB4RkZG RkZGRTksIDB4MTAwMDAwMDAsIDB4MjAwMDBEMzgsIDB4MDAwMDAwODgsIDB4MDYwMTAwMDAsIDB4 RjA3M0NERDApID0gMHgwMDAwMDAwMAoyNTE2NTk2MjogMjA3NzUwNTU6IF9fbG9hZHgoMHgwMzQ4 MDAwMCwgMHgyRkYyMjVBMCwgMHgwMDAwMDQyMCwgMHgwMDAxMDAwMCwgMHgwMDAwMDQ4MCkgPSAw eDAwMDAwMDAwCjI1MTY1OTYyOiAyMDc3NTA1NTogX19sb2FkeCgweDBDMDAwMDAwLCAweEYwMkE5 Q0EwLCAweDAwMDAwMDAwLCAweEYwMkE5NjRDLCAweDAwMDAwMDAwKSA9IDB4MDAwMDAwMDAKMjUx NjU5NjI6IDIwNzc1MDU1OiB0aHJlYWRfaW5pdCgweDAwMDAwMDAwMDAwMDAwMDAsIDB4MDAwMDAw MDBEMDUyRDVFMCkgPSAKMjUxNjU5NjI6IDIwNzc1MDU1OiB2bWdldGluZm8oMHgyRkYyMjRBMCwg NywgMTYpCQk9IDAKMjUxNjU5NjI6IDIwNzc1MDU1OiB2bWdldGluZm8oMHgyRkYyMUY1MCwgNywg MTYpCQk9IDAKMjUxNjU5NjI6IDIwNzc1MDU1OiBfX2xpYmNfc2JyaygweDAwMDAwMDAwKQkJPSAw eDIwNDlGOTEwCjI1MTY1OTYyOiAyMDc3NTA1NTogc21jcl9wcm9jYXR0cigwLCAxLCAweDJGRjIy NDk4KQlFcnIjMTA5IEVOT1NZUwoyNTE2NTk2MjogMjA3NzUwNTU6IGdldHJwaWQoLTEsIC0xLCAt MSkJCQk9IDI1MTY1OTYyCjI1MTY1OTYyOiAyMDc3NTA1NTogX2dldHBpZCgpCQkJCT0gMjUxNjU5 NjIKMjUxNjU5NjI6IDIwNzc1MDU1OiBnZXRwcm9jcygweDIwNDlGRTc4LCA5MzYsIDB4MDAwMDAw MDAsIDAsIDB4RjAyNjMwN0MsIDEpID0gMQoyNTE2NTk2MjogMjA3NzUwNTU6IGFwcHVsaW1pdCgx MDA1LCAwKQkJCT0gMHgyMDRCMDAwMAoyNTE2NTk2MjogMjA3NzUwNTU6IF90aHJlYWRfc2VsZigp CQkJPSAyMDc3NTA1NQoyNTE2NTk2MjogMjA3NzUwNTU6IHRocmVhZF9zZXRteXN0YXRlKDB4MDAw MDAwMDAsIDB4MkZGMjIwRDApID0gMAoyNTE2NTk2MjogMjA3NzUwNTU6IHRocmVhZF9zZXRteXN0 YXRlKDB4MkZGMjFEQjgsIDB4MkZGMjIwQzApID0gMAoyNTE2NTk2MjogMjA3NzUwNTU6IGtvcGVu KCIvdW5peCIsIE9fUkRPTkxZfE9fTEFSR0VGSUxFKQk9IDMKMjUxNjU5NjI6IDIwNzc1MDU1OiBr aW9jdGwoMywgMjI1MjgsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDApIEVyciMyNSBFTk9UVFkKMjUx NjU5NjI6IDIwNzc1MDU1OiBraW9jdGwoMywgMjI1MjgsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAp IEVyciMyNSBFTk9UVFkKMjUxNjU5NjI6IDIwNzc1MDU1OiBjbG9zZSgzKQkJCQk9IDAKMjUxNjU5 NjI6IDIwNzc1MDU1OiBsb2FkcXVlcnkoMiwgMHgyMDRBODlEOCwgMHgwMDAwMTAwMCkJPSAwCjI1 MTY1OTYyOiAyMDc3NTA1NTogX19sb2FkeCgweDAxNEIwMzgwLCAweDJGRjIxOEYwLCAweDAwMDAw QTUwLCAweEYwMjMwNzA4LCAweDAwMDAwMDAwKSA9IDB4MDAwMDAwMDAKMjUxNjU5NjI6IDIwNzc1 MDU1OiBsb2FkcXVlcnkoMSwgMHgyMDRBQTMzMCwgMHgwMDAwMUZGOCkJPSAwCjI1MTY1OTYyOiAy MDc3NTA1NTogX19saWJjX3NicmsoMHgwMDAwMDAwMCkJCT0gMHgyMDRBRjkyMAoyNTE2NTk2Mjog MjA3NzUwNTU6IGFwcGdldHJsaW1pdCgzLCAweDJGRjIyOTY4KQkJPSAwCjI1MTY1OTYyOiAyMDc3 NTA1NTogYXBwc2V0cmxpbWl0KDMsIDB4MkZGMjI5NjgpCQk9IDAKMjUxNjU5NjI6IDIwNzc1MDU1 OiBhcHBnZXRybGltaXQoNiwgMHgyRkYyMjYxOCkJCT0gMAoyNTE2NTk2MjogMjA3NzUwNTU6IF90 aW1lcl9jcmVhdGUoMCwgIiIsIDgwNDM5OTM1MikJPSAwCjI1MTY1OTYyOiAyMDc3NTA1NTogX2dl dHBpZCgpCQkJCT0gMjUxNjU5NjIKMjUxNjU5NjI6IDIwNzc1MDU1OiBzdGF0eCgiPEhPTUVESVI+ L3NyYy9lbWFjcy8yNC4zLjkxIiwgMHgyRkYyMjdDOCwgMTI4LCAwMTApID0gMAoyNTE2NTk2Mjog MjA3NzUwNTU6IHN0YXR4KCIuIiwgMHgyRkYyMjg0OCwgMTI4LCAwMTApCT0gMAoyNTE2NTk2Mjog MjA3NzUwNTU6IGZhY2Nlc3NhdCgtMzA0MTk2NSwgIjxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45 MS9lbWFjcy0yNC4zLjkxL3NyYy9saWItc3JjIiwgMCwgNCkgRXJyIzIyIEVJTlZBTAoyNTE2NTk2 MjogMjA3NzUwNTU6IGZhY2Nlc3NhdCgtMzA0MTk2NSwgIjxIT01FRElSPi9zcmMvZW1hY3MvMjQu My45MS9lbWFjcy0yNC4zLjkxL2xpYi1zcmMiLCAwLCA0KSBFcnIjMjIgRUlOVkFMCjI1MTY1OTYy OiAyMDc3NTA1NTogcmVhZGxpbmthdCgtMzA0MTk2NSwgIjxIT01FRElSPi9zcmMvZW1hY3MvMjQu My45MS9lbWFjcy0yNC4zLjkxL3NyYy90ZW1hY3MiLCAiIiwgMTAyNCkgRXJyIzIyIEVJTlZBTAoy NTE2NTk2MjogMjA3NzUwNTU6IGZhY2Nlc3NhdCgtMzA0MTk2NSwgIjxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9zaGFyZS9lbWFjcy8yNC4zLjkxL2V0Yy9HTlUiLCAwLCA0KSBFcnIjMjIgRUlOVkFM CjI1MTY1OTYyOiAyMDc3NTA1NTogZmFjY2Vzc2F0KC0zMDQxOTY1LCAiPEhPTUVESVI+L3NyYy9l bWFjcy8yNC4zLjkxL2VtYWNzLTI0LjMuOTEvZXRjL0dOVSIsIDAsIDQpIEVyciMyMiBFSU5WQUwK MjUxNjU5NjI6IDIwNzc1MDU1OiBmYWNjZXNzYXQoLTMwNDE5NjUsICI8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvc2hhcmUvZW1hY3MvMjQuMy45MS9ldGMvLiIsIDAsIDQpIEVyciMyMiBFSU5WQUwK V2FybmluZzogYXJjaC1pbmRlcGVuZGVudCBkYXRhIGRpciBgPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL3NoYXJlL2VtYWNzLzI0LjMuOTEvZXRjLyc6IEludmFsaWQgYXJndW1lbnQKMjUxNjU5NjI6 IDIwNzc1MDU1OiBmYWNjZXNzYXQoLTMwNDE5NjUsICI8TE9DQUxTVEFURURJUj4vZ2FtZXMvZW1h Y3MvLiIsIDAsIDQpIEVyciMyMiBFSU5WQUwKMjUxNjU5NjI6IDIwNzc1MDU1OiB1bWFzaygwKQkJ CQk9IDIKMjUxNjU5NjI6IDIwNzc1MDU1OiB1bWFzaygyKQkJCQk9IDAKMjUxNjU5NjI6IDIwNzc1 MDU1OiBmYWNjZXNzYXQoLTMwNDE5NjUsICI8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1h Y3MtMjQuMy45MS9saXNwLy4iLCAwLCA0KSBFcnIjMjIgRUlOVkFMCldhcm5pbmc6IExpc3AgZGly ZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvZW1hY3MtMjQuMy45MS9saXNwJzog SW52YWxpZCBhcmd1bWVudAoyNTE2NTk2MjogMjA3NzUwNTU6IGZhY2Nlc3NhdCgtMzA0MTk2NSwg IjxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9zaGFyZS9lbWFjcy8yNC4zLjkxL2V0Yy9jaGFyc2V0 cy8uIiwgMCwgNCkgRXJyIzIyIEVJTlZBTApFcnJvcjogY2hhcnNldHMgZGlyZWN0b3J5IG5vdCBm b3VuZDoKPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL3NoYXJlL2VtYWNzLzI0LjMuOTEvZXRjL2No YXJzZXRzCkVtYWNzIHdpbGwgbm90IGZ1bmN0aW9uIGNvcnJlY3RseSB3aXRob3V0IHRoZSBjaGFy YWN0ZXIgbWFwIGZpbGVzLgpQbGVhc2UgY2hlY2sgeW91ciBpbnN0YWxsYXRpb24hCjI1MTY1OTYy OiAyMDc3NTA1NToga2ZjbnRsKDEsIEZfR0VURkwsIDB4MDAwMDAwMDgpCT0gMQoyNTE2NTk2Mjog MjA3NzUwNTU6IGNsb3NlKDEpCQkJCT0gMAoyNTE2NTk2MjogMjA3NzUwNTU6IGNsb3NlKDIpCQkJ CT0gMAoyNTE2NTk2MjogMjA3NzUwNTU6IF9fbG9hZHgoMHgwNDQwMDAwMCwgMHgyRkYyMjAwMCwg MHgwMDAwMDgwMCwgMHgwMDAwRDAzMiwgMHgwMDAwMDAwMCkgPSAweDAwMDAwMDAwCjI1MTY1OTYy OiAyMDc3NTA1NTogX2V4aXQoMSkK --Boundary_(ID_uMkQ8Vz5Bc+EyyvcLdjEJw)-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 30 04:27:08 2014 Received: (at 17598) by debbugs.gnu.org; 30 May 2014 08:27:08 +0000 Received: from localhost ([127.0.0.1]:36844 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqI9c-0008St-6w for submit@debbugs.gnu.org; Fri, 30 May 2014 04:27:08 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:33943) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqI9Z-0008SH-3W for 17598@debbugs.gnu.org; Fri, 30 May 2014 04:27:05 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id D2CA2A60019; Fri, 30 May 2014 01:26:58 -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 NF57GDC5Q9xL; Fri, 30 May 2014 01:26:50 -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 44613A60015; Fri, 30 May 2014 01:26:50 -0700 (PDT) Message-ID: <538840C9.7050202@cs.ucla.edu> Date: Fri, 30 May 2014 01:26:49 -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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@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: 17598 Cc: 17598@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: > Tried this, now "configure" is successful but "make" fails: > > Warning: arch-independent data dir > `/emacs-24.3.91/share/emacs/24.3.91/etc/': Invalid argument This is odd; it looks like some third-party value (InfoCrafter, say?) got into your environment. I don't see this on AIX 7.1. > Note: I'm using gcc 7.8.2 compiler boostraped and build on an AIX 6.1 host I guess you mean GCC 4.8.2? From debbugs-submit-bounces@debbugs.gnu.org Fri May 30 05:02:08 2014 Received: (at 17598) by debbugs.gnu.org; 30 May 2014 09:02:09 +0000 Received: from localhost ([127.0.0.1]:36853 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqIhQ-0001Ce-A2 for submit@debbugs.gnu.org; Fri, 30 May 2014 05:02:08 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:27703 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqIhI-0001Bm-HJ for 17598@debbugs.gnu.org; Fri, 30 May 2014 05:02:01 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1225087; Fri, 30 May 2014 11:01:46 +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 <0N6D007Q2QEX35@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Fri, 30 May 2014 11:01:45 +0200 (MEST) Date: Fri, 30 May 2014 11:01:44 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <5386246B.5010202@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 30/05/2014 11:01:44, Serialize complete at 30/05/2014 11:01:44 X-KeepSent: 15BD0C34:8043F8FB-C1257CE8:00313001; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <5386246B.5010202@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_1BO7Hwc7MM7TDvRalh4wlQ)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@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_1BO7Hwc7MM7TDvRalh4wlQ) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > On 05/28/2014 09:40 AM, Gilles PION wrote: > > > > OK, recompiling with those fixes (after configuring using "CFLAGS="-O0 > > -g3" ): > > 1rst step: ./configure > > 2nd step: fix src/config.h as indicated > > 3rd step make > > Did you remember to remove the line "RALLOC_OBJ=ralloc.o" from > src/Makefile? No, I forgot >Also, to play it safe, please remove src/ralloc.o, run > 'make', and make sure src/ralloc.o is not created. Just redone the 3 steps plus the Makefile fix: $ grep RALLOC emacs-24.3.91/src/Makefile ####RALLOC_OBJ=ralloc.o RALLOC_OBJ= otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) \ and ralloc.o wasn't there but still having SIGSEV: + cd ./emacs-24.3.91/src + export MALLOCTYPE=debug + export MALLOCDEBUG=postfree_checking,validate_ptrs,stack_depth:1000 + ./temacs -Q Fatal error 11: Segmentation violation./debug-malloc-run.sh[5]: 19136714 Memory fault -- Gilles . 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_1BO7Hwc7MM7TDvRalh4wlQ) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT >
> On 05/28/2014 09:40 AM, Gilles PION wrote:
> >
> > OK, recompiling with those fixes (after configuring using "CFLAGS="-O0
> > -g3" ):
> > 1rst step: ./configure
> > 2nd step: fix src/config.h as indicated
> > 3rd step make
>
> Did you remember to remove the line "RALLOC_OBJ=ralloc.o" from
> src/Makefile?  

No, I forgot

>Also, to play it safe, please remove src/ralloc.o, run
> 'make', and make sure src/ralloc.o is not created.

Just redone the 3 steps plus the Makefile fix:

$ grep RALLOC emacs-24.3.91/src/Makefile
####RALLOC_OBJ=ralloc.o
RALLOC_OBJ=
otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) \

and ralloc.o wasn't there

but still having SIGSEV:
+ cd ./emacs-24.3.91/src
+ export MALLOCTYPE=debug
+ export MALLOCDEBUG=postfree_checking,validate_ptrs,stack_depth:1000
+ ./temacs -Q
Fatal error 11: Segmentation violation./debug-malloc-run.sh[5]: 19136714 Memory fault
--
Gilles
. 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_1BO7Hwc7MM7TDvRalh4wlQ)-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 30 05:03:45 2014 Received: (at 17598) by debbugs.gnu.org; 30 May 2014 09:03:46 +0000 Received: from localhost ([127.0.0.1]:36857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqIiz-0001Fk-1X for submit@debbugs.gnu.org; Fri, 30 May 2014 05:03:45 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:27712 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqIis-0001FN-RW for 17598@debbugs.gnu.org; Fri, 30 May 2014 05:03:39 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1225193; Fri, 30 May 2014 11:03:25 +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 <0N6D007W0QHP35@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Fri, 30 May 2014 11:03:25 +0200 (MEST) Date: Fri, 30 May 2014 11:03:23 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <538840C9.7050202@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 30/05/2014 11:03:24, Serialize complete at 30/05/2014 11:03:24 X-KeepSent: 12ED17AE:8CB920B0-C1257CE8:0031A434; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_82co4kGPWwTq8awR5nf8iA)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@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_82co4kGPWwTq8awR5nf8iA) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > Gilles PION wrote: > > Tried this, now "configure" is successful but "make" fails: > > > > Warning: arch-independent data dir > > `/emacs-24.3.91/share/emacs/24.3.91/etc/': Invalid argument > > This is odd; it looks like some third-party value (InfoCrafter, say?) > got into your environment. I don't see this on AIX 7.1. > > > Note: I'm using gcc 7.8.2 compiler boostraped and build on an AIX 6.1 host > > I guess you mean GCC 4.8.2? Exact, typo again. -- Gilles . 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_82co4kGPWwTq8awR5nf8iA) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT
> Gilles PION wrote:
> > Tried this, now "configure" is successful but "make" fails:
> >
> > Warning: arch-independent data dir
> > `<TOOLSDIR>/emacs-24.3.91/share/emacs/24.3.91/etc/': Invalid argument
>
> This is odd; it looks like some third-party value (InfoCrafter, say?)
> got into your environment.   I don't see this on AIX 7.1.
>
> > Note: I'm using gcc 7.8.2 compiler boostraped and build on an AIX 6.1 host
>
> I guess you mean GCC 4.8.2?

Exact, typo again.
--
Gilles
. 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_82co4kGPWwTq8awR5nf8iA)-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 30 06:41:50 2014 Received: (at 17598) by debbugs.gnu.org; 30 May 2014 10:41:50 +0000 Received: from localhost ([127.0.0.1]:36885 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqKFx-0004X6-5U for submit@debbugs.gnu.org; Fri, 30 May 2014 06:41:49 -0400 Received: from forward1l.mail.yandex.net ([84.201.143.144]:60723) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqKFq-0004Wd-A5 for 17598@debbugs.gnu.org; Fri, 30 May 2014 06:41:46 -0400 Received: from smtp16.mail.yandex.net (smtp16.mail.yandex.net [95.108.252.16]) by forward1l.mail.yandex.net (Yandex) with ESMTP id C47CB1521315; Fri, 30 May 2014 14:41:35 +0400 (MSK) Received: from smtp16.mail.yandex.net (localhost [127.0.0.1]) by smtp16.mail.yandex.net (Yandex) with ESMTP id 4F0AA6A0839; Fri, 30 May 2014 14:41:35 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp16.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id rD3QBUoCOb-fYnGKBoc; Fri, 30 May 2014 14:41:34 +0400 (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) X-Yandex-Uniq: 041f22ef-4e21-4ca8-acc8-eecfb75ec8e6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1401446494; bh=/UReHyjhF63WeNyE1rfBYXjgFhjYMzq4CaDn5UBEhPk=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type; b=qPj9N1nAJm8D05A9p4YsF8gy/yfrnJAV61FD7EGvmusQSI4poB7NlMSsWxeuvQog2 vY5YUphyMBk4Dkco3ZuQc7qNPExIBCLe+jX1YigUquHT8mtBmPARoQaqKdcIbyCTjj nVKlT7G+JF5UBYc5Mr3JbgToG7ICBGQjOJfqk5MU= Authentication-Results: smtp16.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <5388605E.1080407@yandex.ru> Date: Fri, 30 May 2014 14:41:34 +0400 From: Dmitry Antipov 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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> In-Reply-To: Content-Type: multipart/mixed; boundary="------------040303070409090502060803" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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.0 (/) This is a multi-part message in MIME format. --------------040303070409090502060803 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Can you try the development trunk as well? Since I guess you have no bzr, there is a link to recently enough tarball: http://37.139.80.10/tmp/trunk-r117204.tgz. First, try to compile as usual, i.e. CFLAGS='-O0 -g3' ./configure --enable-checking If that fails, try to use system malloc by applying an attached patch. This requires you to regenerate build files with 'sh autogen.sh', which means that you will need recently enough autoconf, automake and m4: http://www.oss4aix.org/download/RPMS/autoconf/autoconf-2.69-1.aix5.1.ppc.rpm http://www.oss4aix.org/download/RPMS/automake/automake-1.14.1-1.aix5.1.ppc.rpm http://www.oss4aix.org/download/RPMS/m4/m4-1.4.17-1.aix5.1.ppc.rpm (after installing, make sure /usr/bin/m4 is symlinked to /opt/freeware/bin/m4). With system malloc, dumped executable will not work. But temacs should, and you should be able to try it with MALLOCTYPE and MALLOCDEBUG. Dmitry --------------040303070409090502060803 Content-Type: text/x-patch; name="aix_system_malloc.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="aix_system_malloc.patch" === modified file 'configure.ac' --- configure.ac 2014-05-29 23:13:32 +0000 +++ configure.ac 2014-05-30 10:28:04 +0000 @@ -1975,6 +1975,8 @@ case "$opsys" in ## darwin ld insists on the use of malloc routines in the System framework. darwin|mingw32|sol2-10) system_malloc=yes ;; + ## experimental + aix4-2) system_malloc=yes ;; esac GMALLOC_OBJ= === modified file 'src/lisp.h' --- src/lisp.h 2014-05-30 07:40:29 +0000 +++ src/lisp.h 2014-05-30 10:28:04 +0000 @@ -72,7 +72,7 @@ 2. We know malloc returns a multiple of 8. */ #if (defined alignas \ && (defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ \ - || defined DARWIN_OS || defined __sun || defined __MINGW32__)) + || defined DARWIN_OS || defined __sun || defined _AIX || defined __MINGW32__)) # define NONPOINTER_BITS 0 #else # define NONPOINTER_BITS GCTYPEBITS --------------040303070409090502060803-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 30 08:15:04 2014 Received: (at 17598) by debbugs.gnu.org; 30 May 2014 12:15:04 +0000 Received: from localhost ([127.0.0.1]:36910 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqLiB-0000Ge-FM for submit@debbugs.gnu.org; Fri, 30 May 2014 08:15:04 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:29284 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqLi6-0000FM-Uc for 17598@debbugs.gnu.org; Fri, 30 May 2014 08:15:00 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1231495; Fri, 30 May 2014 14:14:49 +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 <0N6D00CABZCPUR@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Fri, 30 May 2014 14:14:49 +0200 (MEST) Date: Fri, 30 May 2014 14:14:45 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <5388605E.1080407@yandex.ru> To: Dmitry Antipov 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 30/05/2014 14:14:48, Serialize complete at 30/05/2014 14:14:48 X-KeepSent: D48B8974:5887D031-C1257CE8:00433538; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> Content-Type: multipart/alternative; boundary="Boundary_(ID_ev3QQ2+y7YPd0gYADCWXpw)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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_ev3QQ2+y7YPd0gYADCWXpw) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > Can you try the development trunk as well? Since I guess you have no > bzr, there is > a link to recently enough tarball: http://37.139.80.10/tmp/trunk-r117204.tgz. Ok, downloading now, stay tuned -- Gilles . 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_ev3QQ2+y7YPd0gYADCWXpw) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT >
> Can you try the development trunk as well? Since I guess you have no
> bzr, there is
> a link to recently enough tarball:
http://37.139.80.10/tmp/trunk-r117204.tgz.

Ok, downloading now,
stay tuned
--
Gilles
. 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_ev3QQ2+y7YPd0gYADCWXpw)-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 30 09:31:27 2014 Received: (at 17598) by debbugs.gnu.org; 30 May 2014 13:31:27 +0000 Received: from localhost ([127.0.0.1]:36938 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqMu5-0002lk-Iv for submit@debbugs.gnu.org; Fri, 30 May 2014 09:31:26 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:29979 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqMu0-0002lI-8x for 17598@debbugs.gnu.org; Fri, 30 May 2014 09:31:21 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1234738; Fri, 30 May 2014 15:31:10 +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 <0N6E00C9O2VYUR@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Fri, 30 May 2014 15:31:10 +0200 (MEST) Date: Fri, 30 May 2014 15:31:07 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <5388605E.1080407@yandex.ru> To: Dmitry Antipov 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 30/05/2014 15:31:10, Serialize complete at 30/05/2014 15:31:10 X-KeepSent: 702D20AE:9DD31E5C-C1257CE8:004A1EA9; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> Content-Type: multipart/alternative; boundary="Boundary_(ID_av2VzlcuigDuDy+0Hzh4JQ)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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_av2VzlcuigDuDy+0Hzh4JQ) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > First, try to compile as usual, i.e. > > CFLAGS='-O0 -g3' ./configure --enable-checking > > If that fails, It did: [1] + Memory fault ./trunk/src/emacs& > try to use system malloc by applying an attached > patch. Ok, tring this now (please be patient, byte-compile of lisp modules with a non optimized emacs build is pretty long) -- Gilles . 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_av2VzlcuigDuDy+0Hzh4JQ) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT

>
> First, try to compile as usual, i.e.
>
> CFLAGS='-O0 -g3' ./configure --enable-checking
>
> If that fails,


It did:
[1] + Memory fault             ./trunk/src/emacs&

> try to use system malloc by applying an attached
> patch.


Ok, tring this now
(please be patient, byte-compile of lisp modules with a non optimized emacs build is pretty long)
--
Gilles
. 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_av2VzlcuigDuDy+0Hzh4JQ)-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 30 10:45:34 2014 Received: (at 17598) by debbugs.gnu.org; 30 May 2014 14:45:35 +0000 Received: from localhost ([127.0.0.1]:37879 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqO3q-0005Mg-Eh for submit@debbugs.gnu.org; Fri, 30 May 2014 10:45:34 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:30552 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqO3l-0005MH-Ly for 17598@debbugs.gnu.org; Fri, 30 May 2014 10:45:30 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1237270; Fri, 30 May 2014 16:45:19 +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 <0N6E00CQ16BJUR@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Fri, 30 May 2014 16:45:19 +0200 (MEST) Date: Fri, 30 May 2014 16:45:16 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <5388605E.1080407@yandex.ru> To: Dmitry Antipov 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 30/05/2014 16:45:18, Serialize complete at 30/05/2014 16:45:18 X-KeepSent: C692C5CA:08B1191C-C1257CE8:0050BA6E; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> Content-Type: multipart/alternative; boundary="Boundary_(ID_DGjonLOoOKlNw6PjU9bSCQ)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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_DGjonLOoOKlNw6PjU9bSCQ) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > With system malloc, dumped executable will not work. But temacs should, and > you should be able to try it with MALLOCTYPE and MALLOCDEBUG. > Still crashing. I can provide a truss output of the "temacs -Q run if it can help but may become rather large. -- Gilles . 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_DGjonLOoOKlNw6PjU9bSCQ) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT > With system malloc, dumped executable will not work. But temacs should, and
> you should be able to try it with MALLOCTYPE and MALLOCDEBUG.
>

Still crashing.
I can provide a truss output of the "temacs -Q run if it can help but may become rather large.
--
Gilles
. 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_DGjonLOoOKlNw6PjU9bSCQ)-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 30 10:57:59 2014 Received: (at 17598) by debbugs.gnu.org; 30 May 2014 14:57:59 +0000 Received: from localhost ([127.0.0.1]:37883 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqOFq-0005ke-RH for submit@debbugs.gnu.org; Fri, 30 May 2014 10:57:59 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:30670 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqOFm-0005kI-OR for 17598@debbugs.gnu.org; Fri, 30 May 2014 10:57:56 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1237706; Fri, 30 May 2014 16:57:46 +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 <0N6E00C8P6WAUR@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Fri, 30 May 2014 16:57:46 +0200 (MEST) Date: Fri, 30 May 2014 16:57:42 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: To: Dmitry Antipov 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 30/05/2014 16:57:46, Serialize complete at 30/05/2014 16:57:46 X-KeepSent: A2A54B66:551AAAE7-C1257CE8:0051F198; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> Content-Type: multipart/alternative; boundary="Boundary_(ID_ztO0Rwqhqi0fbHknJ40JeA)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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_ztO0Rwqhqi0fbHknJ40JeA) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > > With system malloc, dumped executable will not work. But temacs should, and > > you should be able to try it with MALLOCTYPE and MALLOCDEBUG. > > > Still crashing. > I can provide a truss output of the "temacs -Q run if it can help > but may become rather large. Note that, with this latest build, I've been unable to have "temacs" crash yet, when run without malloc debug env variables . 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_ztO0Rwqhqi0fbHknJ40JeA) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT >
> > With system malloc, dumped executable will not work. But temacs should, and
> > you should be able to try it with MALLOCTYPE and MALLOCDEBUG.
> >

> Still crashing.
> I can provide a truss output of the "temacs -Q run if it can help
> but may become rather large.



Note that, with this latest build, I've been unable to have "temacs" crash yet, when run without malloc debug env variables . 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_ztO0Rwqhqi0fbHknJ40JeA)-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 30 17:40:07 2014 Received: (at 17598) by debbugs.gnu.org; 30 May 2014 21:40:07 +0000 Received: from localhost ([127.0.0.1]:38111 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqUX1-0004FJ-1X for submit@debbugs.gnu.org; Fri, 30 May 2014 17:40:07 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:41748) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqUWy-0004Ee-W3 for 17598@debbugs.gnu.org; Fri, 30 May 2014 17:40:05 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 3B660A6001C; Fri, 30 May 2014 14:39:59 -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 pyNBmxfpNjJa; Fri, 30 May 2014 14:39:50 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 9A103A60003; Fri, 30 May 2014 14:39:50 -0700 (PDT) Message-ID: <5388FAA6.5050202@cs.ucla.edu> Date: Fri, 30 May 2014 14:39:50 -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 , Dmitry Antipov Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> 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: 17598 Cc: 17598@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 (---) On 05/30/2014 07:57 AM, Gilles PION wrote: > Note that, with this latest build, I've been unable to have "temacs" > crash yet, when run without malloc debug env variables . This suggests that it's related to memory allocation somehow, sigh. On the off-chance that it's also related to the code that the compiler generates, I installed changes into the emacs-24 branch to get 'xlc' working again on 32-bit AIX. If you have access to xlc, please try './configure CC=xlc' from the latest emacs-24 branch (and without any other patches). From debbugs-submit-bounces@debbugs.gnu.org Sat May 31 00:19:29 2014 Received: (at 17598) by debbugs.gnu.org; 31 May 2014 04:19:29 +0000 Received: from localhost ([127.0.0.1]:38338 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqalU-0002cd-R9 for submit@debbugs.gnu.org; Sat, 31 May 2014 00:19:29 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:56348) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqalS-0002cJ-Bg for 17598@debbugs.gnu.org; Sat, 31 May 2014 00:19:27 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 52D25A6002A; Fri, 30 May 2014 21:19: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 3dInOwvjlHkt; Fri, 30 May 2014 21:19:15 -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 9AC44A60023; Fri, 30 May 2014 21:19:15 -0700 (PDT) Message-ID: <53895843.3000705@cs.ucla.edu> Date: Fri, 30 May 2014 21:19:15 -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: anonymized-config.log is from Emacs 24.3 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17598 Cc: 17598@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 (---) By the way, the attachment anonymized-config.log at the start of this bug report is from Emacs 24.3, not from Emacs pretest 24.3.91. Could you send a config.log from the latest emacs-24 branch, once you've built it? Thanks. Another idea: if it's a bug in the use of some of the libraries, perhaps you can make it go away with something like this: ./configure --without-all --with-xft=no --with-x-toolkit=lucid \ --disable-acl \ ac_cv_path_PKG_CONFIG=no \ ac_cv_header_X11_extensions_Xrandr_h=no \ ac_cv_header_X11_extensions_Xinerama_h=no (yes, this is painful; sorry). The idea is to build something with minimal library dependencies; run: ldd src/temacs to see what libraries you have linked in, and make that list as small as you can while still keeping X. Presumably you have an old version of Emacs around that works; you can use "ldd" too see what libraries it's using and try to make sure you aren't using any new ones. From debbugs-submit-bounces@debbugs.gnu.org Sat May 31 09:30:42 2014 Received: (at 17598) by debbugs.gnu.org; 31 May 2014 13:30:43 +0000 Received: from localhost ([127.0.0.1]:38494 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqjMf-0004bt-Fb for submit@debbugs.gnu.org; Sat, 31 May 2014 09:30:42 -0400 Received: from mtaout29.012.net.il ([80.179.55.185]:48807) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WqjMU-0004bU-Cv for 17598@debbugs.gnu.org; Sat, 31 May 2014 09:30:18 -0400 Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0N6F00600X2OBH00@mtaout29.012.net.il> for 17598@debbugs.gnu.org; Sat, 31 May 2014 16:30:39 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N6F003UQXJ2YO50@mtaout29.012.net.il>; Sat, 31 May 2014 16:30:39 +0300 (IDT) Date: Sat, 31 May 2014 16:30:24 +0300 From: Eli Zaretskii Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <5388FAA6.5050202@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83oayedqj3.fsf@gnu.org> References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <5388FAA6.5050202@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 17598 Cc: gpion@lfdj.com, 17598@debbugs.gnu.org, dmantipov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii 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: 1.0 (+) > Date: Fri, 30 May 2014 14:39:50 -0700 > From: Paul Eggert > Cc: 17598@debbugs.gnu.org > > On 05/30/2014 07:57 AM, Gilles PION wrote: > > Note that, with this latest build, I've been unable to have "temacs" > > crash yet, when run without malloc debug env variables . > > This suggests that it's related to memory allocation somehow, sigh. > > On the off-chance that it's also related to the code that the compiler > generates, I installed changes into the emacs-24 branch to get 'xlc' > working again on 32-bit AIX. If you have access to xlc, please try > './configure CC=xlc' from the latest emacs-24 branch (and without any > other patches). The changes to lisp.h intended to enhance debugging on AIX broke debugging when GCC 3.x is used to compile the code: I get "No symbol "VALMASK" in current context." when xbacktrace is invoked. So I reverted that part of the changes. I hope there's a way to define the relevant macros only for AIX, so that other platforms aren't affected, certainly not during the pretest. From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 01 03:12:41 2014 Received: (at 17598) by debbugs.gnu.org; 1 Jun 2014 07:12:42 +0000 Received: from localhost ([127.0.0.1]:39441 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wqzwf-0008DH-GI for submit@debbugs.gnu.org; Sun, 01 Jun 2014 03:12:41 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:44343) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wqzwc-0008D1-Fr for 17598@debbugs.gnu.org; Sun, 01 Jun 2014 03:12:39 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 96BC1A6003C; Sun, 1 Jun 2014 00:12:32 -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 pnVhu4DBjuJc; Sun, 1 Jun 2014 00:12:27 -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 CF31DA60029; Sun, 1 Jun 2014 00:12:27 -0700 (PDT) Message-ID: <538AD258.8000401@cs.ucla.edu> Date: Sun, 01 Jun 2014 00:12:24 -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: Eli Zaretskii Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <5388FAA6.5050202@cs.ucla.edu> <83oayedqj3.fsf@gnu.org> In-Reply-To: <83oayedqj3.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17598 Cc: gpion@lfdj.com, 17598@debbugs.gnu.org, dmantipov@yandex.ru 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 (---) Eli Zaretskii wrote: > The changes to lisp.h intended to enhance debugging on AIX broke > debugging when GCC 3.x is used to compile the code: I get "No symbol > "VALMASK" in current context." when xbacktrace is invoked. Sorry about that. It appears you ran into GCC bug 23336, an old bug I wasn't familiar with. By the time this bug was fixed in 2006, the GCC folks had stopped maintaining GCC 3.x. See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23336 > I hope there's a way to > define the relevant macros only for AIX, so that other platforms > aren't affected, certainly not during the pretest. I gave that a shot in emacs-24 bzr 117185. From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 01 11:03:28 2014 Received: (at 17598) by debbugs.gnu.org; 1 Jun 2014 15:03:28 +0000 Received: from localhost ([127.0.0.1]:39995 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wr7IG-0000Wt-9K for submit@debbugs.gnu.org; Sun, 01 Jun 2014 11:03:28 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:49282) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wr7IC-0000WZ-Q0 for 17598@debbugs.gnu.org; Sun, 01 Jun 2014 11:03:26 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0N6H00F00W6JZ000@a-mtaout22.012.net.il> for 17598@debbugs.gnu.org; Sun, 01 Jun 2014 18:03:18 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N6H00FM9WHIYD20@a-mtaout22.012.net.il>; Sun, 01 Jun 2014 18:03:18 +0300 (IDT) Date: Sun, 01 Jun 2014 18:03:07 +0300 From: Eli Zaretskii Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <538AD258.8000401@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83mwdwbrkk.fsf@gnu.org> References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <5388FAA6.5050202@cs.ucla.edu> <83oayedqj3.fsf@gnu.org> <538AD258.8000401@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 17598 Cc: gpion@lfdj.com, 17598@debbugs.gnu.org, dmantipov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii 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: 1.0 (+) > Date: Sun, 01 Jun 2014 00:12:24 -0700 > From: Paul Eggert > CC: gpion@lfdj.com, dmantipov@yandex.ru, 17598@debbugs.gnu.org > > Eli Zaretskii wrote: > > > The changes to lisp.h intended to enhance debugging on AIX broke > > debugging when GCC 3.x is used to compile the code: I get "No symbol > > "VALMASK" in current context." when xbacktrace is invoked. > > Sorry about that. It appears you ran into GCC bug 23336, an old bug I > wasn't familiar with. By the time this bug was fixed in 2006, the GCC > folks had stopped maintaining GCC 3.x. See: > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23336 Yes, I think you're right. > > I hope there's a way to > > define the relevant macros only for AIX, so that other platforms > > aren't affected, certainly not during the pretest. > > I gave that a shot in emacs-24 bzr 117185. Thank you, this works for me. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 02 11:53:53 2014 Received: (at 17598) by debbugs.gnu.org; 2 Jun 2014 15:53:53 +0000 Received: from localhost ([127.0.0.1]:41046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrUYW-0004ie-9M for submit@debbugs.gnu.org; Mon, 02 Jun 2014 11:53:52 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:59622 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrUYP-0004iE-9x for 17598@debbugs.gnu.org; Mon, 02 Jun 2014 11:53:46 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1306935; Mon, 02 Jun 2014 17:53:30 +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 <0N6J00MLYTH6VL@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Mon, 02 Jun 2014 17:53:30 +0200 (MEST) Date: Mon, 02 Jun 2014 17:53:28 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <5388FAA6.5050202@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 02/06/2014 17:53:29, Serialize complete at 02/06/2014 17:53:29 X-KeepSent: BF3D62DF:C0CF4BC1-C1257CEB:0056CCD0; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <"OFA2A54B66.55 <5388FAA6.5050202"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_dJP5+2j/wlvTV9CENbJqPA)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov 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 (/) This is a multipart message in MIME format. --Boundary_(ID_dJP5+2j/wlvTV9CENbJqPA) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > On the off-chance that it's also related to the code that the compiler > generates, I installed changes into the emacs-24 branch to get 'xlc' > working again on 32-bit AIX. If you have access to xlc, please try > './configure CC=xlc' from the latest emacs-24 branch (and without any > other patches). Unfortunately, using xlc, compilation fails with the following error (I'm using trunk-r117204.tgz): /usr/vac/bin/xlc -qlanglvl=extc99 -DHAVE_CONFIG_H -I. -I../lib -I../src -I../src -I/fdj/opt/emacs-24.3.91/include -g -O -c dtoastr.c "ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier _GL_FLT_PREC_BOUND. "ftoastr.c", line 80.23: 1506-1324 (S) Array size must have integer type. gmake[2]: *** [dtoastr.o] Error 1 Do I have to fetch a newer version of the sources? Note: I need a .tar archive since I do not have bzr -- Gilles . 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_dJP5+2j/wlvTV9CENbJqPA) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT >
> On the off-chance that it's also related to the code that the compiler
> generates, I installed changes into the emacs-24 branch to get 'xlc'
> working again on 32-bit AIX.  If you have access to xlc, please try
> './configure CC=xlc' from the latest emacs-24 branch (and without any
> other patches).


Unfortunately, using xlc, compilation fails with the  following error (I'm using trunk-r117204.tgz):

       /usr/vac/bin/xlc -qlanglvl=extc99 -DHAVE_CONFIG_H -I. -I../lib -I../src -I../src   -I/fdj/opt/emacs-24.3.91/include    -g -O -c dtoastr.c

"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier _GL_FLT_PREC_BOUND.
"ftoastr.c", line 80.23: 1506-1324 (S) Array size must have integer type.
gmake[2]: *** [dtoastr.o] Error 1

Do I have to fetch a newer version of the sources? Note: I need a .tar archive since I do not have bzr
--
Gilles
. 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_dJP5+2j/wlvTV9CENbJqPA)-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 02 12:08:31 2014 Received: (at 17598) by debbugs.gnu.org; 2 Jun 2014 16:08:31 +0000 Received: from localhost ([127.0.0.1]:41076 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrUmk-0005EY-Qz for submit@debbugs.gnu.org; Mon, 02 Jun 2014 12:08:31 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:59736 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrUme-0005E8-Sm for 17598@debbugs.gnu.org; Mon, 02 Jun 2014 12:08:26 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1307494; Mon, 02 Jun 2014 18:08:16 +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 <0N6J00MEUU5RVL@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Mon, 02 Jun 2014 18:08:16 +0200 (MEST) Date: Mon, 02 Jun 2014 18:08:13 +0200 From: Gilles PION Subject: RE: anonymized-config.log is from Emacs 24.3 In-reply-to: <53895843.3000705@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 02/06/2014 18:08:14 X-KeepSent: 953E994C:540F25D0-C1257CEB:0058423A; type=4; name=$KeepSent References: <53895843.3000705@cs.ucla.edu> Content-Type: multipart/mixed; boundary="Boundary_(ID_C6ztgzaqMlFxtkKkEJ5b+w)" X-Debbugs-Envelope-To: 17598 Cc: 17598@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" --Boundary_(ID_C6ztgzaqMlFxtkKkEJ5b+w) Content-Type: multipart/alternative; boundary="Boundary_(ID_vo3tYltRgXAr3cpo1TaOAg)" --Boundary_(ID_vo3tYltRgXAr3cpo1TaOAg) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > By the way, the attachment anonymized-config.log at the start of this > bug report > config.log;att=2;bug=17598> > is from Emacs 24.3, not from Emacs pretest 24.3.91. Could you send a > config.log from the latest emacs-24 branch, once you've built it? Thanks. > > Another idea: if it's a bug in the use of some of the libraries, perhaps > you can make it go away with something like this: > > ./configure --without-all --with-xft=no --with-x-toolkit=lucid \ > --disable-acl \ > ac_cv_path_PKG_CONFIG=no \ > ac_cv_header_X11_extensions_Xrandr_h=no \ > ac_cv_header_X11_extensions_Xinerama_h=no > > (yes, this is painful; sorry). Now getting the following error at link time (config and 2nd pass make log files attached) ld: 0711-317 ERROR: Undefined symbol: .XpmReadFileToPixmap ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: error: ld returned 8 exit status gmake[1]: *** [temacs] Error 1 gmake[1]: Leaving directory `/src/emacs/24.3.91/trunk/src' gmake: *** [src] Error 2 -- Gilles . 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_vo3tYltRgXAr3cpo1TaOAg) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT >
> By the way, the attachment anonymized-config.log at the start of this
> bug report
> <
http://debbugs.gnu.org/cgi/bugreport.cgi?msg=5;filename=anonymized-
> config.log;att=2;bug=17598>
> is from Emacs 24.3, not from Emacs pretest 24.3.91.  Could you send a
> config.log from the latest emacs-24 branch, once you've built it?  Thanks.

>
> Another idea: if it's a bug in the use of some of the libraries, perhaps
> you can make it go away with something like this:
>
>   ./configure --without-all --with-xft=no --with-x-toolkit=lucid \
>     --disable-acl \
>     ac_cv_path_PKG_CONFIG=no \
>     ac_cv_header_X11_extensions_Xrandr_h=no \
>     ac_cv_header_X11_extensions_Xinerama_h=no
>
> (yes, this is painful; sorry).


Now getting the following error at link time (config and 2nd pass make log files attached)

ld: 0711-317 ERROR: Undefined symbol: .XpmReadFileToPixmap
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: error: ld returned 8 exit status
gmake[1]: *** [temacs] Error 1
gmake[1]: Leaving directory `<HOMEDIR>/src/emacs/24.3.91/trunk/src'
gmake: *** [src] Error 2




--
Gilles
. 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_vo3tYltRgXAr3cpo1TaOAg)-- Content-Type: text/plain --Boundary_(ID_C6ztgzaqMlFxtkKkEJ5b+w) Content-Type: application/octet-stream; name="anonymized-config.log" Content-transfer-encoding: base64 Content-disposition: attachment; filename=anonymized-config.log VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IEdOVSBFbWFjcyBjb25maWd1cmUgMjQuNC41 MCwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OS4gIEludm9jYXRpb24g Y29tbWFuZCBsaW5lIHdhcwoKICAkIC4vY29uZmlndXJlIC0tcHJlZml4PTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2Nv bmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQt YWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFj X2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRy X2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUt Y2hlY2tpbmc9YWxsCgojIyAtLS0tLS0tLS0gIyMKIyMgUGxhdGZvcm0uICMjCiMjIC0tLS0tLS0t LSAjIwoKaG9zdG5hbWUgPSBheDMwMDAxCnVuYW1lIC1tID0gMDBDRDEwRjQ0QzAwCnVuYW1lIC1y ID0gMQp1bmFtZSAtcyA9IEFJWAp1bmFtZSAtdiA9IDYKCi91c3IvYmluL3VuYW1lIC1wID0gcG93 ZXJwYwovYmluL3VuYW1lIC1YICAgICA9IHVua25vd24KCi9iaW4vYXJjaCAgICAgICAgICAgICAg PSB1bmtub3duCi91c3IvYmluL2FyY2ggLWsgICAgICAgPSB1bmtub3duCi91c3IvY29udmV4L2dl dHN5c2luZm8gPSB1bmtub3duCi91c3IvYmluL2hvc3RpbmZvICAgICAgPSB1bmtub3duCi9iaW4v bWFjaGluZSAgICAgICAgICAgPSB1bmtub3duCi91c3IvYmluL29zbGV2ZWwgICAgICAgPSA2LjEu MC4wCi9iaW4vdW5pdmVyc2UgICAgICAgICAgPSB1bmtub3duCgpQQVRIOiAvdXNyL3ZhYy9iaW4K UEFUSDogL3Vzci92YWNwcC9iaW4KUEFUSDogL3Vzci9sb2NhbC9iaW4KUEFUSDogL2JpbgpQQVRI OiAvdXNyL2JpbgpQQVRIOiAvdXNyL2Njcy9iaW4KUEFUSDogL29wdC9mcmVld2FyZS9iaW4KCgoj IyAtLS0tLS0tLS0tLSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29u ZmlndXJlOjM3NDg6IGNoZWNraW5nIGZvciB4Y3J1bgpjb25maWd1cmU6Mzc3ODogcmVzdWx0OiBu bwpjb25maWd1cmU6Mzg0OTogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbApj b25maWd1cmU6MzkxNzogcmVzdWx0OiAvb3B0L2ZyZWV3YXJlL2Jpbi9pbnN0YWxsIC1jCmNvbmZp Z3VyZTozOTI4OiBjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUKY29u ZmlndXJlOjM5ODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MTM0OiBjaGVja2luZyBmb3IgYSB0 aHJlYWQtc2FmZSBta2RpciAtcApjb25maWd1cmU6NDE3MzogcmVzdWx0OiAvb3B0L2ZyZWV3YXJl L2Jpbi9ta2RpciAtcApjb25maWd1cmU6NDE4MDogY2hlY2tpbmcgZm9yIGdhd2sKY29uZmlndXJl OjQyMTA6IHJlc3VsdDogbm8KY29uZmlndXJlOjQxODA6IGNoZWNraW5nIGZvciBtYXdrCmNvbmZp Z3VyZTo0MjEwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MTgwOiBjaGVja2luZyBmb3IgbmF3awpj b25maWd1cmU6NDE5NjogZm91bmQgL2Jpbi9uYXdrCmNvbmZpZ3VyZTo0MjA3OiByZXN1bHQ6IG5h d2sKY29uZmlndXJlOjQyMTg6IGNoZWNraW5nIHdoZXRoZXIgL2Jpbi9nbWFrZSBzZXRzICQoTUFL RSkKY29uZmlndXJlOjQyNDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjY5OiBjaGVja2luZyB3 aGV0aGVyIC9iaW4vZ21ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcwpjb25maWd1cmU6NDI4 NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ5Mzk6IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBl CmNvbmZpZ3VyZTo0OTUzOiByZXN1bHQ6IHBvd2VycGMtaWJtLWFpeDYuMS4wLjAKY29uZmlndXJl OjQ5NzM6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUKY29uZmlndXJlOjQ5ODY6IHJlc3VsdDog cG93ZXJwYy1pYm0tYWl4Ni4xLjAuMApjb25maWd1cmU6NTIwNjogY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgdXNpbmcgR05VIE1ha2UKY29uZmlndXJlOjUyMTA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo1MzM3OiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTo1MzQ2OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtLXZlcnNpb24gPiY1CmdjYyAoR0NDKSA0LjguMgpD b3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMg ZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRo ZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgoKY29uZmlndXJlOjUzNTc6ICQ/ID0gMApjb25m aWd1cmU6NTM0NjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXYgPiY1ClVzaW5nIGJ1aWx0 LWluIHNwZWNzLgpDT0xMRUNUX0dDQz08VE9PTFNESVI+L2djYy00LjgvYmluL2djYwpDT0xMRUNU X0xUT19XUkFQUEVSPTxUT09MU0RJUj4vZ2NjLTQuOC4yL2xpYmV4ZWMvZ2NjL3Bvd2VycGMtaWJt LWFpeDYuMS4wLjAvNC44LjIvbHRvLXdyYXBwZXIKVGFyZ2V0OiBwb3dlcnBjLWlibS1haXg2LjEu MC4wCkNvbmZpZ3VyZWQgd2l0aDogPEhPTUVESVI+L3NyYy9nY2MvNC44LjIvZ2NjLTQuOC4yL2Nv bmZpZ3VyZSAtLXByZWZpeD08VE9PTFNESVI+L2djYy00LjguMiAtLXN5c2NvbmZkaXI9PFNZU0NP TkZESVI+IC0tbG9jYWxzdGF0ZWRpcj0vdmFyPFRPT0xTRElSPi9nY2MgLS1wcmVmaXg9PFRPT0xT RElSPi9nY2MtNC44LjIgLS1kaXNhYmxlLW5scyAtLWRpc2FibGUtbGliZ2NqIC0tZW5hYmxlLWxh bmd1YWdlcz1jLGMrKyAtLWVuYWJsZS1saWJhZGE9bm8KVGhyZWFkIG1vZGVsOiBhaXgKZ2NjIHZl cnNpb24gNC44LjIgKEdDQykgCmNvbmZpZ3VyZTo1MzU3OiAkPyA9IDAKY29uZmlndXJlOjUzNDY6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1WID4mNQpnY2M6IGVycm9yOiB1bnJlY29nbml6 ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnLVYnCmdjYzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZp bGVzCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo1MzU3OiAkPyA9IDEKY29uZmln dXJlOjUzNDY6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1xdmVyc2lvbiA+JjUKZ2NjOiBl cnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1xdmVyc2lvbicKZ2NjOiBm YXRhbCBlcnJvcjogbm8gaW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmln dXJlOjUzNTc6ICQ/ID0gMQpjb25maWd1cmU6NTM3NzogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcwpjb25maWd1cmU6NTM5OTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LU8wIC1nMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTQwMzogJD8gPSAw CmNvbmZpZ3VyZTo1NDUxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTQ1NDogY2hlY2tpbmcgZm9y IEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZTo1NDU2OiByZXN1 bHQ6IGEub3V0CmNvbmZpZ3VyZTo1NDYyOiBjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzCmNvbmZpZ3VyZTo1NDY5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtbyBjb25mdGVz dCAtTzAgLWczICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1NDczOiAkPyA9 IDAKY29uZmlndXJlOjU0OTU6IHJlc3VsdDogCmNvbmZpZ3VyZTo1NTE3OiBjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmlndXJlOjU1MjU6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1vIGNvbmZ0ZXN0IC1PMCAtZzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiBjb25mdGVzdC5jICA+ JjUKY29uZmlndXJlOjU1Mjk6ICQ/ID0gMApjb25maWd1cmU6NTUzNjogLi9jb25mdGVzdApjb25m aWd1cmU6NTU0MDogJD8gPSAwCmNvbmZpZ3VyZTo1NTU1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1 NTYwOiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcwpjb25maWd1cmU6NTU4Mjog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8wIC1nMyAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTU4NjogJD8gPSAwCmNv bmZpZ3VyZTo1NjA3OiByZXN1bHQ6IG8KY29uZmlndXJlOjU2MTE6IGNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlcgpjb25maWd1cmU6NTYzMDogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLWMgLU8wIC1nMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv aW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTYzMDogJD8gPSAwCmNvbmZpZ3VyZTo1 NjM5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTY0ODogY2hlY2tpbmcgd2hldGhlciA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo1NjY4OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtYyAtZyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTY2ODogJD8gPSAwCmNvbmZpZ3VyZTo1NzA5OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6NTc0NDogY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUg dXNlZCBieSAvYmluL2dtYWtlCmNvbmZpZ3VyZTo1NzcyOiByZXN1bHQ6IEdOVQpjb25maWd1cmU6 NTc5ODogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYwpjb25maWd1cmU6NTkwOTogcmVzdWx0OiBnY2MzCmNvbmZpZ3VyZTo1OTc0OiBjaGVja2lu ZyBmb3IgPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzk5 CmNvbmZpZ3VyZTo2MTIzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAgLWMgLU8wIC1nMyAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjY4OjI5OiBlcnJvcjogZXhwZWN0ZWQgJzsnLCAnLCcgb3IgJyknIGJlZm9yZSAndGV4dCcK IHRlc3RfcmVzdHJpY3QgKGNjcCByZXN0cmljdCB0ZXh0KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEyMjox ODogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f JyBiZWZvcmUgJ25ld3ZhcicKICAgY2hhciAqcmVzdHJpY3QgbmV3dmFyID0gIkFub3RoZXIgc3Ry aW5nIjsKICAgICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjEyMjoxODogZXJyb3I6ICduZXd2 YXInIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjEy MjoxODogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBv bmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZnRlc3QuYzoxMzI6MzogZXJy b3I6ICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBD OTkgbW9kZQogICBmb3IgKGludCBpID0gMDsgaSA8IGlhLT5kYXRhc2l6ZTsgKytpKQogICBeCmNv bmZ0ZXN0LmM6MTMyOjM6IG5vdGU6IHVzZSBvcHRpb24gLXN0ZD1jOTkgb3IgLXN0ZD1nbnU5OSB0 byBjb21waWxlIHlvdXIgY29kZQpjb25maWd1cmU6NjEyMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg RW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNz QGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3 YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19T VFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZp bmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5f Q0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RF QlVHIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGFyZy5oPgp8ICNp bmNsdWRlIDxzdGRib29sLmg+CnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNsdWRlIDx3Y2hh ci5oPgp8ICNpbmNsdWRlIDxzdGRpby5oPgp8IAp8IC8vIENoZWNrIHZhcmFyZ3MgbWFjcm9zLiAg VGhlc2UgZXhhbXBsZXMgYXJlIHRha2VuIGZyb20gQzk5IDYuMTAuMy41Lgp8ICNkZWZpbmUgZGVi dWcoLi4uKSBmcHJpbnRmIChzdGRlcnIsIF9fVkFfQVJHU19fKQp8ICNkZWZpbmUgc2hvd2xpc3Qo Li4uKSBwdXRzICgjX19WQV9BUkdTX18pCnwgI2RlZmluZSByZXBvcnQodGVzdCwuLi4pICgodGVz dCkgPyBwdXRzICgjdGVzdCkgOiBwcmludGYgKF9fVkFfQVJHU19fKSkKfCBzdGF0aWMgdm9pZAp8 IHRlc3RfdmFyYXJnc19tYWNyb3MgKHZvaWQpCnwgewp8ICAgaW50IHggPSAxMjM0Owp8ICAgaW50 IHkgPSA1Njc4Owp8ICAgZGVidWcgKCJGbGFnIik7CnwgICBkZWJ1ZyAoIlggPSAlZFxuIiwgeCk7 CnwgICBzaG93bGlzdCAoVGhlIGZpcnN0LCBzZWNvbmQsIGFuZCB0aGlyZCBpdGVtcy4pOwp8ICAg cmVwb3J0ICh4PnksICJ4IGlzICVkIGJ1dCB5IGlzICVkIiwgeCwgeSk7CnwgfQp8IAp8IC8vIENo ZWNrIGxvbmcgbG9uZyB0eXBlcy4KfCAjZGVmaW5lIEJJRzY0IDE4NDQ2NzQ0MDczNzA5NTUxNjE1 dWxsCnwgI2RlZmluZSBCSUczMiA0Mjk0OTY3Mjk1dWwKfCAjZGVmaW5lIEJJR19PSyAoQklHNjQg LyBCSUczMiA9PSA0Mjk0OTY3Mjk3dWxsICYmIEJJRzY0ICUgQklHMzIgPT0gMCkKfCAjaWYgIUJJ R19PSwp8ICAgeW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNlbmRpZgp8ICNpZiBCSUdf T0sKfCAjZWxzZQp8ICAgeW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNlbmRpZgp8IHN0 YXRpYyBsb25nIGxvbmcgaW50IGJpZ251bSA9IC05MjIzMzcyMDM2ODU0Nzc1ODA3TEw7Cnwgc3Rh dGljIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdWJpZ251bSA9IEJJRzY0Owp8IAp8IHN0cnVjdCBp bmNvbXBsZXRlX2FycmF5Cnwgewp8ICAgaW50IGRhdGFzaXplOwp8ICAgZG91YmxlIGRhdGFbXTsK fCB9Owp8IAp8IHN0cnVjdCBuYW1lZF9pbml0IHsKfCAgIGludCBudW1iZXI7CnwgICBjb25zdCB3 Y2hhcl90ICpuYW1lOwp8ICAgZG91YmxlIGF2ZXJhZ2U7CnwgfTsKfCAKfCB0eXBlZGVmIGNvbnN0 IGNoYXIgKmNjcDsKfCAKfCBzdGF0aWMgaW5saW5lIGludAp8IHRlc3RfcmVzdHJpY3QgKGNjcCBy ZXN0cmljdCB0ZXh0KQp8IHsKfCAgIC8vIFNlZSBpZiBDKystc3R5bGUgY29tbWVudHMgd29yay4K fCAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBpdGVtcyB2aWEgdGhlIHJlc3RyaWN0ZWQgcG9pbnRlci4K fCAgIC8vIEFsc28gY2hlY2sgZm9yIGRlY2xhcmF0aW9ucyBpbiBmb3IgbG9vcHMuCnwgICBmb3Ig KHVuc2lnbmVkIGludCBpID0gMDsgKih0ZXh0K2kpICE9ICdcMCc7ICsraSkKfCAgICAgY29udGlu dWU7CnwgICByZXR1cm4gMDsKfCB9CnwgCnwgLy8gQ2hlY2sgdmFyYXJncyBhbmQgdmFfY29weS4K fCBzdGF0aWMgdm9pZAp8IHRlc3RfdmFyYXJncyAoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCnwg ewp8ICAgdmFfbGlzdCBhcmdzOwp8ICAgdmFfc3RhcnQgKGFyZ3MsIGZvcm1hdCk7CnwgICB2YV9s aXN0IGFyZ3NfY29weTsKfCAgIHZhX2NvcHkgKGFyZ3NfY29weSwgYXJncyk7CnwgCnwgICBjb25z dCBjaGFyICpzdHI7CnwgICBpbnQgbnVtYmVyOwp8ICAgZmxvYXQgZm51bWJlcjsKfCAKfCAgIHdo aWxlICgqZm9ybWF0KQp8ICAgICB7CnwgICAgICAgc3dpdGNoICgqZm9ybWF0KyspCnwgCXsKfCAJ Y2FzZSAncyc6IC8vIHN0cmluZwp8IAkgIHN0ciA9IHZhX2FyZyAoYXJnc19jb3B5LCBjb25zdCBj aGFyICopOwp8IAkgIGJyZWFrOwp8IAljYXNlICdkJzogLy8gaW50CnwgCSAgbnVtYmVyID0gdmFf YXJnIChhcmdzX2NvcHksIGludCk7CnwgCSAgYnJlYWs7CnwgCWNhc2UgJ2YnOiAvLyBmbG9hdAp8 IAkgIGZudW1iZXIgPSB2YV9hcmcgKGFyZ3NfY29weSwgZG91YmxlKTsKfCAJICBicmVhazsKfCAJ ZGVmYXVsdDoKfCAJICBicmVhazsKfCAJfQp8ICAgICB9CnwgICB2YV9lbmQgKGFyZ3NfY29weSk7 CnwgICB2YV9lbmQgKGFyZ3MpOwp8IH0KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgLy8g Q2hlY2sgYm9vbC4KfCAgIF9Cb29sIHN1Y2Nlc3MgPSBmYWxzZTsKfCAKfCAgIC8vIENoZWNrIHJl c3RyaWN0Lgp8ICAgaWYgKHRlc3RfcmVzdHJpY3QgKCJTdHJpbmcgbGl0ZXJhbCIpID09IDApCnwg ICAgIHN1Y2Nlc3MgPSB0cnVlOwp8ICAgY2hhciAqcmVzdHJpY3QgbmV3dmFyID0gIkFub3RoZXIg c3RyaW5nIjsKfCAKfCAgIC8vIENoZWNrIHZhcmFyZ3MuCnwgICB0ZXN0X3ZhcmFyZ3MgKCJzLCBk JyBmIC4iLCAic3RyaW5nIiwgNjUsIDM0LjIzNCk7CnwgICB0ZXN0X3ZhcmFyZ3NfbWFjcm9zICgp Owp8IAp8ICAgLy8gQ2hlY2sgZmxleGlibGUgYXJyYXkgbWVtYmVycy4KfCAgIHN0cnVjdCBpbmNv bXBsZXRlX2FycmF5ICppYSA9CnwgICAgIG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgaW5jb21wbGV0 ZV9hcnJheSkgKyAoc2l6ZW9mIChkb3VibGUpICogMTApKTsKfCAgIGlhLT5kYXRhc2l6ZSA9IDEw Owp8ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpYS0+ZGF0YXNpemU7ICsraSkKfCAgICAgaWEtPmRh dGFbaV0gPSBpICogMS4yMzQ7CnwgCnwgICAvLyBDaGVjayBuYW1lZCBpbml0aWFsaXplcnMuCnwg ICBzdHJ1Y3QgbmFtZWRfaW5pdCBuaSA9IHsKfCAgICAgLm51bWJlciA9IDM0LAp8ICAgICAubmFt ZSA9IEwiVGVzdCB3aWRlIHN0cmluZyIsCnwgICAgIC5hdmVyYWdlID0gNTQzLjM0MzQzLAp8ICAg fTsKfCAKfCAgIG5pLm51bWJlciA9IDU4Owp8IAp8ICAgaW50IGR5bmFtaWNfYXJyYXlbbmkubnVt YmVyXTsKfCAgIGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gPSA1NDM7CnwgCnwgICAvLyB3 b3JrIGFyb3VuZCB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MKfCAgIHJldHVybiAoIXN1Y2Nlc3Mg fHwgYmlnbnVtID09IDBMTCB8fCB1YmlnbnVtID09IDB1TEwgfHwgbmV3dmFyWzBdID09ICd4Jwp8 IAkgIHx8IGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gIT0gNTQzKTsKfCAKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjYxMjM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjEyMzogJD8gPSAwCmNvbmZpZ3VyZTo2MTQzOiBy ZXN1bHQ6IC1zdGQ9Z251OTkKY29uZmlndXJlOjYxNTM6IGNoZWNraW5nIGZvciA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IG9wdGlvbiB0byBhY2NlcHQgSVNPIFN0YW5kYXJk IEMKY29uZmlndXJlOjYxNjc6IHJlc3VsdDogLXN0ZD1nbnU5OQpjb25maWd1cmU6NjE3NjogY2hl Y2tpbmcgd2hldGhlciA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IGFuZCBj YyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlcgpjb25maWd1cmU6NjIwNzogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0Mi5v ID4mNQpjb25maWd1cmU6NjIxMTogJD8gPSAwCmNvbmZpZ3VyZTo2MjE3OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1 CmNvbmZpZ3VyZTo2MjIxOiAkPyA9IDAKY29uZmlndXJlOjYyMzI6IGNjIC1jIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo2MjM2OiAkPyA9IDAKY29uZmlndXJlOjYyNDQ6IGNjIC1jIGNvbmZ0ZXN0 LmMgLW8gY29uZnRlc3QyLm8gPiY1CmNvbmZpZ3VyZTo2MjQ4OiAkPyA9IDAKY29uZmlndXJlOjYy NTQ6IGNjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1CmNvbmZpZ3VyZTo2MjU4OiAk PyA9IDAKY29uZmlndXJlOjYyNzY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MzMwOiBjaGVja2lu ZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NjM2MTogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtRSAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZTo2MzYxOiAkPyA9IDAKY29uZmlndXJlOjYz NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLUUgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYwpjb25mdGVzdC5jOjE4OjI4OiBmYXRh bCBlcnJvcjogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2lu Y2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNv bXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo2Mzc1OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO VSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1h Y3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNL X1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2Rl ZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJV Tl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhf REVCVUcgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3Rl bnQuaD4KY29uZmlndXJlOjY0MDA6IHJlc3VsdDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtRQpjb25maWd1cmU6NjQyMDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtRSAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVz dC5jCmNvbmZpZ3VyZTo2NDIwOiAkPyA9IDAKY29uZmlndXJlOjY0MzQ6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLUUgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2lu Y2x1ZGUgY29uZnRlc3QuYwpjb25mdGVzdC5jOjE4OjI4OiBmYXRhbCBlcnJvcjogYWNfbm9uZXhp c3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPGFjX25vbmV4aXN0 ZW50Lmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0 ZWQuCmNvbmZpZ3VyZTo2NDM0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZp bmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJ TkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmlu ZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjY0 NjM6IGNoZWNraW5nIGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZQpjb25m aWd1cmU6NjUyMTogcmVzdWx0OiAvdXNyL2xvY2FsL2Jpbi9ncmVwCmNvbmZpZ3VyZTo2NTI2OiBj aGVja2luZyBmb3IgZWdyZXAKY29uZmlndXJlOjY1ODg6IHJlc3VsdDogL3Vzci9sb2NhbC9iaW4v Z3JlcCAtRQpjb25maWd1cmU6NjU5NTogY2hlY2tpbmcgZm9yIE1pbml4IEFtc3RlcmRhbSBjb21w aWxlcgpjb25maWd1cmU6NjYxOTogcmVzdWx0OiBubwpjb25maWd1cmU6NjY3MTogY2hlY2tpbmcg Zm9yIGFyCmNvbmZpZ3VyZTo2Njg3OiBmb3VuZCAvYmluL2FyCmNvbmZpZ3VyZTo2Njk4OiByZXN1 bHQ6IGFyCmNvbmZpZ3VyZTo2Nzc4OiBjaGVja2luZyBmb3IgcmFubGliCmNvbmZpZ3VyZTo2Nzk0 OiBmb3VuZCAvYmluL3JhbmxpYgpjb25maWd1cmU6NjgwNTogcmVzdWx0OiByYW5saWIKY29uZmln dXJlOjY4MzE6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTo2ODUx OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY4 NTE6ICQ/ID0gMApjb25maWd1cmU6NjkyNDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9p bmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgY29uZnRlc3QuYyAgPiY1CmNv bmZpZ3VyZTo2OTI0OiAkPyA9IDAKY29uZmlndXJlOjY5MjQ6IC4vY29uZnRlc3QKY29uZmlndXJl OjY5MjQ6ICQ/ID0gMApjb25maWd1cmU6NjkzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY5NDg6 IGNoZWNraW5nIGZvciBzeXMvdHlwZXMuaApjb25maWd1cmU6Njk0ODogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2OTQ4OiAkPyA9IDAKY29uZmln dXJlOjY5NDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2OTQ4OiBjaGVja2luZyBmb3Igc3lzL3N0 YXQuaApjb25maWd1cmU6Njk0ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAtTzAgLWczICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo2OTQ4OiAkPyA9IDAKY29uZmlndXJlOjY5NDg6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo2OTQ4OiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29uZmlndXJlOjY5NDg6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgLUk8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Njk0ODog JD8gPSAwCmNvbmZpZ3VyZTo2OTQ4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Njk0ODogY2hlY2tp bmcgZm9yIHN0cmluZy5oCmNvbmZpZ3VyZTo2OTQ4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY5NDg6ICQ/ID0gMApjb25maWd1cmU6Njk0ODog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjY5NDg6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1 cmU6Njk0ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWcz ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZTo2OTQ4OiAkPyA9IDAKY29uZmlndXJlOjY5NDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2 OTQ4OiBjaGVja2luZyBmb3Igc3RyaW5ncy5oCmNvbmZpZ3VyZTo2OTQ4OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY5NDg6ICQ/ID0gMApjb25m aWd1cmU6Njk0ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY5NDg6IGNoZWNraW5nIGZvciBpbnR0 eXBlcy5oCmNvbmZpZ3VyZTo2OTQ4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1jIC1PMCAtZzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjY5NDg6ICQ/ID0gMApjb25maWd1cmU6Njk0ODogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjY5NDg6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6Njk0ODog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2OTQ4 OiAkPyA9IDAKY29uZmlndXJlOjY5NDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2OTQ4OiBjaGVj a2luZyBmb3IgdW5pc3RkLmgKY29uZmlndXJlOjY5NDg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Njk0ODogJD8gPSAwCmNvbmZpZ3VyZTo2OTQ4 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Njk2MTogY2hlY2tpbmcgbWluaXgvY29uZmlnLmggdXNh YmlsaXR5CmNvbmZpZ3VyZTo2OTYxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1jIC1PMCAtZzMgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzo2MToyNjogZmF0YWwgZXJyb3I6IG1pbml4L2NvbmZpZy5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8bWluaXgvY29uZmlnLmg+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6 Njk2MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVD S0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hF Q0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAx CnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09O U19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlv Lmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+ CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMg IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ TkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllf SAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4K fCAjZW5kaWYKfCAjaW5jbHVkZSA8bWluaXgvY29uZmlnLmg+CmNvbmZpZ3VyZTo2OTYxOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZTo2OTYxOiBjaGVja2luZyBtaW5peC9jb25maWcuaCBwcmVzZW5jZQpj b25maWd1cmU6Njk2MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtRSAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6 Mjg6MjY6IGZhdGFsIGVycm9yOiBtaW5peC9jb25maWcuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQogI2luY2x1ZGUgPG1pbml4L2NvbmZpZy5oPgogICAgICAgICAgICAgICAgICAgICAgICAg IF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjY5NjE6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdu dS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0Nf Q0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEK fCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19P VkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBH TFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxtaW5peC9jb25maWcuaD4KY29uZmlndXJl OjY5NjE6IHJlc3VsdDogbm8KY29uZmlndXJlOjY5NjE6IGNoZWNraW5nIGZvciBtaW5peC9jb25m aWcuaApjb25maWd1cmU6Njk2MTogcmVzdWx0OiBubwpjb25maWd1cmU6Njk4NTogY2hlY2tpbmcg d2hldGhlciBpdCBpcyBzYWZlIHRvIGRlZmluZSBfX0VYVEVOU0lPTlNfXwpjb25maWd1cmU6NzAw MzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3 MDAzOiAkPyA9IDAKY29uZmlndXJlOjcwMTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3MDI1OiBj aGVja2luZyB3aGV0aGVyIF9YT1BFTl9TT1VSQ0Ugc2hvdWxkIGJlIGRlZmluZWQKY29uZmlndXJl OjcwNDQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6NzA0NDogJD8gPSAwCmNvbmZpZ3VyZTo3MDY4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo3MDg3 OiBjaGVja2luZyBmb3Igc3BlY2lhbCBDIGNvbXBpbGVyIG9wdGlvbnMgbmVlZGVkIGZvciBsYXJn ZSBmaWxlcwpjb25maWd1cmU6NzEzMjogcmVzdWx0OiBubwpjb25maWd1cmU6NzEzODogY2hlY2tp bmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKY29u ZmlndXJlOjcxNjM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8w IC1nMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOjQwOjM6IHdhcm5pbmc6IGxlZnQgc2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlw ZSBbZW5hYmxlZCBieSBkZWZhdWx0XQogICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9U ICUgMjE0NzQ4MzYyOSA9PSA3MjEKICAgXgpjb25mdGVzdC5jOjQwOjM6IHdhcm5pbmc6IGxlZnQg c2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlwZSBbZW5hYmxlZCBieSBkZWZhdWx0XQpjb25mdGVz dC5jOjQxOjI0OiB3YXJuaW5nOiBsZWZ0IHNoaWZ0IGNvdW50ID49IHdpZHRoIG9mIHR5cGUgW2Vu YWJsZWQgYnkgZGVmYXVsdF0KICAgICAgICAgICAgICAgICAgICAgICAgJiYgTEFSR0VfT0ZGX1Qg JSAyMTQ3NDgzNjQ3ID09IDEpCiAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZnRlc3QuYzo0 MToyNDogd2FybmluZzogbGVmdCBzaGlmdCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlIFtlbmFibGVk IGJ5IGRlZmF1bHRdCmNvbmZ0ZXN0LmM6NDA6NzogZXJyb3I6IHZhcmlhYmx5IG1vZGlmaWVkICdv ZmZfdF9pc19sYXJnZScgYXQgZmlsZSBzY29wZQogICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdF X09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKICAgICAgIF4KY29uZmlndXJlOjcxNjM6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93 d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19P VkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUg WE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwg I2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgLyog Q2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0gMSBjb3JyZWN0bHkuCnwgICAg IFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3 NTgwNywKfCAgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNv bXBpbGVycwp8ICAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICov CnwgI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkg MSA8PCA2MikpCnwgICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYy OSA9PSA3MjEKfCAgICAgICAgICAgICAgICAgICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4 MzY0NyA9PSAxKQp8ICAgICAgICAgICAgICAgICAgICAgICA/IDEgOiAtMV07CnwgaW50CnwgbWFp biAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjcxODc6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjQxOjM6IHdh cm5pbmc6IGxlZnQgc2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlwZSBbZW5hYmxlZCBieSBkZWZh dWx0XQogICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3 MjEKICAgXgpjb25mdGVzdC5jOjQxOjM6IHdhcm5pbmc6IGxlZnQgc2hpZnQgY291bnQgPj0gd2lk dGggb2YgdHlwZSBbZW5hYmxlZCBieSBkZWZhdWx0XQpjb25mdGVzdC5jOjQyOjI0OiB3YXJuaW5n OiBsZWZ0IHNoaWZ0IGNvdW50ID49IHdpZHRoIG9mIHR5cGUgW2VuYWJsZWQgYnkgZGVmYXVsdF0K ICAgICAgICAgICAgICAgICAgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEp CiAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZnRlc3QuYzo0MjoyNDogd2FybmluZzogbGVm dCBzaGlmdCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlIFtlbmFibGVkIGJ5IGRlZmF1bHRdCmNvbmZ0 ZXN0LmM6NDE6NzogZXJyb3I6IHZhcmlhYmx5IG1vZGlmaWVkICdvZmZfdF9pc19sYXJnZScgYXQg ZmlsZSBzY29wZQogICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYy OSA9PSA3MjEKICAgICAgIF4KY29uZmlndXJlOjcxODc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVt YWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0Bn bnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RS SU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5l IEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NI RUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJV RyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgIC8qIENoZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29y cmVjdGx5Lgp8ICAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDky MjMzNzIwMzY4NTQ3NzU4MDcsCnwgICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVy YWRpbmcgYXMgQyBjb21waWxlcnMKfCAgICAgaW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4 NTQ3NzU4MDcuICAqLwp8ICNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0g MSArICgob2ZmX3QpIDEgPDwgNjIpKQp8ICAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZf VCAlIDIxNDc0ODM2MjkgPT0gNzIxCnwgICAgICAgICAgICAgICAgICAgICAgICAmJiBMQVJHRV9P RkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKfCAgICAgICAgICAgICAgICAgICAgICAgPyAxIDogLTFd Owp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZTo3MTk1OiByZXN1bHQ6IHVua25vd24KY29uZmlndXJlOjcyMDc6IGNoZWNraW5nIGZvciBfTEFS R0VfRklMRVMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6NzIzMjogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NDA6Mzog d2FybmluZzogbGVmdCBzaGlmdCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlIFtlbmFibGVkIGJ5IGRl ZmF1bHRdCiAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09 IDcyMQogICBeCmNvbmZ0ZXN0LmM6NDA6Mzogd2FybmluZzogbGVmdCBzaGlmdCBjb3VudCA+PSB3 aWR0aCBvZiB0eXBlIFtlbmFibGVkIGJ5IGRlZmF1bHRdCmNvbmZ0ZXN0LmM6NDE6MjQ6IHdhcm5p bmc6IGxlZnQgc2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlwZSBbZW5hYmxlZCBieSBkZWZhdWx0 XQogICAgICAgICAgICAgICAgICAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0g MSkKICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjQxOjI0OiB3YXJuaW5nOiBs ZWZ0IHNoaWZ0IGNvdW50ID49IHdpZHRoIG9mIHR5cGUgW2VuYWJsZWQgYnkgZGVmYXVsdF0KY29u ZnRlc3QuYzo0MDo3OiBlcnJvcjogdmFyaWFibHkgbW9kaWZpZWQgJ29mZl90X2lzX2xhcmdlJyBh dCBmaWxlIHNjb3BlCiAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgz NjI5ID09IDcyMQogICAgICAgXgpjb25maWd1cmU6NzIzMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg RW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNz QGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3 YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19T VFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZp bmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5f Q0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RF QlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAvKiBDaGVjayB0aGF0IG9mZl90 IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KfCAgICAgV2UgY2FuJ3Qgc2ltcGx5 IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2ODU0Nzc1ODA3LAp8ICAgICBzaW5j ZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCnwgICAgIGlu Y29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KfCAjZGVmaW5lIExBUkdF X09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKfCAgIGlu dCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQp8ICAgICAg ICAgICAgICAgICAgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCnwgICAg ICAgICAgICAgICAgICAgICAgID8gMSA6IC0xXTsKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NzI1NjogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3MjU2OiAkPyA9IDAKY29uZmlndXJlOjcy NjQ6IHJlc3VsdDogMQpjb25maWd1cmU6NzUwMDogY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGls ZXIgaXMgY2xhbmcKY29uZmlndXJlOjc1MjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLWMgLU8wIC1nMyAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjM4OjEyOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcs ICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSBzdHJpbmcgY29uc3RhbnQKICAg ICAgZXJyb3IgIm5vdCBjbGFuZyI7CiAgICAgICAgICAgIF4KY29uZmlndXJlOjc1MjA6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93 d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19P VkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUg WE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwg I2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lO T0RFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgCSAgI2lmbmRlZiBfX2NsYW5nX18K fCAJICAgIGVycm9yICJub3QgY2xhbmciOwp8IAkgICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkK fCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo3NTI3OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZTo4NTkxOiBjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzIGZvciBmaWxlcyBp biB0aGUgc2FtZSBkaXJlY3RvcnkKY29uZmlndXJlOjg2MTY6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo4NjMzOiBjaGVja2luZyBmb3IgaW5zdGFsbC1pbmZvCmNvbmZpZ3VyZTo4NjUxOiBmb3VuZCAv b3B0L2ZyZWV3YXJlL2Jpbi9pbnN0YWxsLWluZm8KY29uZmlndXJlOjg2NjQ6IHJlc3VsdDogL29w dC9mcmVld2FyZS9iaW4vaW5zdGFsbC1pbmZvCmNvbmZpZ3VyZTo4Njc0OiBjaGVja2luZyBmb3Ig Z3ppcApjb25maWd1cmU6ODY5MjogZm91bmQgL3Vzci9sb2NhbC9iaW4vZ3ppcApjb25maWd1cmU6 ODcwNDogcmVzdWx0OiAvdXNyL2xvY2FsL2Jpbi9nemlwCmNvbmZpZ3VyZTo4ODA5OiBjaGVja2lu ZyBmb3IgbWFrZWluZm8KY29uZmlndXJlOjg4NDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjg5MTI6 IGNoZWNraW5nIGZvciAtem5vY29tYnJlbG9jCmNvbmZpZ3VyZTo4OTI1OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMCAtZzMgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAt V2wsLXpub2NvbWJyZWxvYyBjb25mdGVzdC5jICA+JjUKbGQ6IDA3MDYtMDI3IFRoZSAtbiBmbGFn IGlzIGlnbm9yZWQuCmNvbGxlY3QyOiBmYXRhbCBlcnJvcjogY29uZnRlc3Q6IGNhbm5vdCBvcGVu IGFzIENPRkYgZmlsZQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6ODkyNTogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDov L3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5H X09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmlu ZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEK fCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEK fCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRf SU5PREUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6ODkzMDogcmVzdWx0OiBubwpjb25m aWd1cmU6ODkzODogY2hlY2tpbmcgd2hldGhlciBhZGRyZXNzZXMgYXJlIHNhbml0aXplZApjb25m aWd1cmU6ODk2MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAg LWczICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6NDE6MTE6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAn X19hdHRyaWJ1dGVfXycgYmVmb3JlIHN0cmluZyBjb25zdGFudAogICAgIGVycm9yICJBZGRyZXNz ZXMgYXJlIG5vdCBzYW5pdGl6ZWQuIjsKICAgICAgICAgICBeCmNvbmZpZ3VyZTo4OTYxOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAj ZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdf T1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5l IFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8 ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9J Tk9ERSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZm5kZWYgX19oYXNfZmVhdHVyZQp8 IAkgICNkZWZpbmUgX19oYXNfZmVhdHVyZShmKSAwCnwgCSAgI2VuZGlmCnwgCSAgI2lmIGRlZmlu ZWQgX19TQU5JVElaRV9BRERSRVNTX18gfHwgX19oYXNfZmVhdHVyZSAoYWRkcmVzc19zYW5pdGl6 ZXIpCnwgCSAgI2Vsc2UKfCAJICAgZXJyb3IgIkFkZHJlc3NlcyBhcmUgbm90IHNhbml0aXplZC4i Owp8IAkgICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZTo4OTY4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5MTQ4OiBjaGVja2lu ZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHNxcnQKY29uZmlndXJlOjkxNzk6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9s aWIgY29uZnRlc3QuYyAgPiY1IApjb25mdGVzdC5jOjQzOjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5n IHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnc3FydCcgW2VuYWJsZWQgYnkgZGVmYXVsdF0K IGNoYXIgc3FydCAoKTsKICAgICAgXgpsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1i b2w6IC5zcXJ0CmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0 aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVy bmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjkxNzk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVt YWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0Bn bnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RS SU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5l IEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NI RUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJV RyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0Vf RklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUg dG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2gg dGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMK fCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzcXJ0ICgpOwp8IGludAp8IG1haW4gKCkKfCB7 CnwgcmV0dXJuIHNxcnQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5MTc5 OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMCAt ZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIGNvbmZ0ZXN0LmMgLWxtICAgPiY1IApjb25mdGVzdC5jOjQzOjY6IHdh cm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnc3FydCcgW2Vu YWJsZWQgYnkgZGVmYXVsdF0KIGNoYXIgc3FydCAoKTsKICAgICAgXgpjb25maWd1cmU6OTE3OTog JD8gPSAwCmNvbmZpZ3VyZTo5MTk2OiByZXN1bHQ6IC1sbQpjb25maWd1cmU6OTM2MjogY2hlY2tp bmcgcGtnLWNvbmZpZyBpcyBhdCBsZWFzdCB2ZXJzaW9uIDAuOS4wCmNvbmZpZ3VyZTo5MzY4OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5NjAyOiBjaGVja2luZyBmb3Igc3lzL3N5c3RlbWluZm8uaApj b25maWd1cmU6OTYwMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAt TzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzo3MToyODogZmF0YWwgZXJyb3I6IHN5cy9zeXN0ZW1pbmZvLmg6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvc3lzdGVtaW5mby5oPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6 OTYwMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVD S0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hF Q0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAx CnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09O U19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VT RV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVT X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19T VEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVB REVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxz ZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5k aWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19I RUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8 ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lO VFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VO SVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8c3lz L3N5c3RlbWluZm8uaD4KY29uZmlndXJlOjk2MDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjk2MDI6 IGNoZWNraW5nIGZvciBjb2ZmLmgKY29uZmlndXJlOjk2MDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NzE6MTg6IGZhdGFsIGVycm9yOiBj b2ZmLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxjb2ZmLmg+CiAgICAg ICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjk2MDI6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6 Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklO R19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZp bmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAx CnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklU X0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBp bmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwg IyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAj IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlm ZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAm JiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlm CnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gK fCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19I CnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9I CnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8 ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPGNvZmYuaD4KY29u ZmlndXJlOjk2MDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjk2MDI6IGNoZWNraW5nIGZvciBwdHku aApjb25maWd1cmU6OTYwMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt YyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzo3MToxNzogZmF0YWwgZXJyb3I6IHB0eS5oOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8cHR5Lmg+CiAgICAgICAgICAgICAgICAgXgpjb21waWxh dGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6OTYwMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi R05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1h Y3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdu dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl L2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu NC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJ TkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUg R0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hF Q0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVH IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9G SUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImFpeCIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlv Lmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+ CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMg IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ TkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllf SAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4K fCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8cHR5Lmg+CmNvbmZpZ3VyZTo5NjAyOiByZXN1bHQ6IG5v CmNvbmZpZ3VyZTo5NjAyOiBjaGVja2luZyBmb3Igc3lzL3Jlc291cmNlLmgKY29uZmlndXJlOjk2 MDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo5NjAyOiAkPyA9IDAKY29uZmlndXJlOjk2MDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NjAy OiBjaGVja2luZyBmb3Igc3lzL3V0c25hbWUuaApjb25maWd1cmU6OTYwMjogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk2MDI6ICQ/ID0gMApj b25maWd1cmU6OTYwMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk2MDI6IGNoZWNraW5nIGZvciBw d2QuaApjb25maWd1cmU6OTYwMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjk2MDI6ICQ/ID0gMApjb25maWd1cmU6OTYwMjogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjk2MDI6IGNoZWNraW5nIGZvciB1dG1wLmgKY29uZmlndXJlOjk2MDI6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NjAy OiAkPyA9IDAKY29uZmlndXJlOjk2MDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NjAyOiBjaGVj a2luZyBmb3IgdXRpbC5oCmNvbmZpZ3VyZTo5NjAyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc1OjE4OiBmYXRhbCBlcnJvcjogdXRpbC5o OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8dXRpbC5oPgogICAgICAgICAg ICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5NjAyOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg ImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2Rl ZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVm aW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZF UlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhN QUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNk ZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9E RSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVk IEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNs dWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNs dWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVk ZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPHV0aWwuaD4KY29uZmlndXJlOjk2 MDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjk2MDI6IGNoZWNraW5nIGZvciBzeXMvc29ja2V0LmgK Y29uZmlndXJlOjk2MDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMg LU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo5NjAyOiAkPyA9IDAKY29uZmlndXJlOjk2MDI6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo5NjAyOiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29uZmlndXJlOjk2MDI6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo5NjAyOiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29uZmlndXJlOjk2 MDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NjAyOiBjaGVja2luZyBmb3Igc3lzL3BhcmFtLmgK Y29uZmlndXJlOjk2MDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMg LU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo5NjAyOiAkPyA9IDAKY29uZmlndXJlOjk2MDI6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo5NjAyOiBjaGVja2luZyBmb3IgcHRocmVhZC5oCmNvbmZpZ3VyZTo5NjAyOiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTYwMjog JD8gPSAwCmNvbmZpZ3VyZTo5NjAyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTYwMjogY2hlY2tp bmcgZm9yIG1hbGxvYy9tYWxsb2MuaApjb25maWd1cmU6OTYwMjogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo4MDoyNzogZmF0YWwgZXJyb3I6 IG1hbGxvYy9tYWxsb2MuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPG1h bGxvYy9tYWxsb2MuaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0 ZXJtaW5hdGVkLgpjb25maWd1cmU6OTYwMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQu NC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmci CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNz LyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIK fCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllU RVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hF Q0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZF X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5j bHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5j bHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxtYWxsb2MvbWFsbG9jLmg+CmNv bmZpZ3VyZTo5NjAyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5NjAyOiBjaGVja2luZyBmb3IgbWFp bGxvY2suaApjb25maWd1cmU6OTYwMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo4MDoyMjogZmF0YWwgZXJyb3I6IG1haWxsb2NrLmg6IE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxtYWlsbG9jay5oPgogICAgICAgICAg ICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6OTYwMjogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDov L3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5H X09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmlu ZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEK fCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEK fCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRf SU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFW RV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRl Zi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVm aW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8 bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNp bmNsdWRlIDxtYWlsbG9jay5oPgpjb25maWd1cmU6OTYwMjogcmVzdWx0OiBubwpjb25maWd1cmU6 OTYwMjogY2hlY2tpbmcgZm9yIHN5cy91bi5oCmNvbmZpZ3VyZTo5NjAyOiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTYwMjogJD8gPSAwCmNv bmZpZ3VyZTo5NjAyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTYwMjogY2hlY2tpbmcgZm9yIGRp cmVudC5oCmNvbmZpZ3VyZTo5NjAyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6OTYwMjogJD8gPSAwCmNvbmZpZ3VyZTo5NjAyOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6OTYwMjogY2hlY2tpbmcgZm9yIGV4ZWNpbmZvLmgKY29uZmlndXJlOjk2 MDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6ODI6MjI6IGZhdGFsIGVycm9yOiBleGVjaW5mby5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CiAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KICAgICAgICAgICAgICAgICAgICAgIF4KY29tcGls YXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjk2MDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVt YWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0Bn bnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RS SU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5l IEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NI RUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJV RyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0Vf RklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VO X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNs dWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1 ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhB VkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZp bmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBp bmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGlu Y2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBp bmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBp bmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5j bHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CmNvbmZp Z3VyZTo5NjAyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5NjAyOiBjaGVja2luZyBmb3Igc3RkaW9f ZXh0LmgKY29uZmlndXJlOjk2MDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251 OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6ODI6MjM6IGZhdGFsIGVycm9yOiBzdGRpb19leHQuaDogTm8g c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHN0ZGlvX2V4dC5oPgogICAgICAgICAg ICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjk2MDI6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6 Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklO R19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZp bmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAx CnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklU X0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBT VERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1 ZGUgPHN0ZGlvX2V4dC5oPgpjb25maWd1cmU6OTYwMjogcmVzdWx0OiBubwpjb25maWd1cmU6OTYw MjogY2hlY2tpbmcgZm9yIGdldG9wdC5oCmNvbmZpZ3VyZTo5NjAyOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjgyOjIwOiBmYXRhbCBlcnJv cjogZ2V0b3B0Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxnZXRvcHQu aD4KICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3Vy ZTo5NjAyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NI RUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19D SEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNU IDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19D T05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5f VVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZk ZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUg PHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBp ZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5j bHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8 IAp8ICNpbmNsdWRlIDxnZXRvcHQuaD4KY29uZmlndXJlOjk2MDI6IHJlc3VsdDogbm8KY29uZmln dXJlOjk2MDI6IGNoZWNraW5nIGZvciBzeXMvdGltZS5oCmNvbmZpZ3VyZTo5NjAyOiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTYwMjogJD8g PSAwCmNvbmZpZ3VyZTo5NjAyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTYwMjogY2hlY2tpbmcg Zm9yIHdjaGFyLmgKY29uZmlndXJlOjk2MDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NjAyOiAkPyA9IDAKY29uZmlndXJlOjk2MDI6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo5NjAyOiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJl Ojk2MDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NjAyOiBjaGVja2luZyBmb3IgaW50dHlwZXMu aApjb25maWd1cmU6OTYwMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk2MDI6IGNoZWNraW5nIGZv ciBzeXMvc2VsZWN0LmgKY29uZmlndXJlOjk2MDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NjAyOiAkPyA9IDAKY29uZmlndXJlOjk2MDI6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NjAyOiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25m aWd1cmU6OTYwMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk2MDI6IGNoZWNraW5nIGZvciB1dGlt ZS5oCmNvbmZpZ3VyZTo5NjAyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6OTYwMjogJD8gPSAwCmNvbmZpZ3VyZTo5NjAyOiByZXN1bHQ6IHll cwpjb25maWd1cmU6OTYzMTogY2hlY2tpbmcgaWYgcGVyc29uYWxpdHkgTElOVVgzMiBjYW4gYmUg c2V0CmNvbmZpZ3VyZTo5NjQ0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjU1OjI5OiBmYXRhbCBlcnJvcjogc3lzL3BlcnNvbmFsaXR5Lmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvcGVyc29uYWxpdHkuaD4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNv bmZpZ3VyZTo5NjQ0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40 LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5B QkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmlu ZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJF RV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19D SEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZp bmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBf R05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZp bmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9E QVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN5cy9wZXJzb25hbGl0eS5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgcGVyc29u YWxpdHkgKFBFUl9MSU5VWDMyKQp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6OTY1 MDogcmVzdWx0OiBubwpjb25maWd1cmU6OTY2MTogY2hlY2tpbmcgZm9yIHRlcm0uaApjb25maWd1 cmU6OTY2MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtRSAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjk2NjE6 ICQ/ID0gMApjb25maWd1cmU6OTY2MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk2NzE6IGNoZWNr aW5nIHdoZXRoZXIgdGltZS5oIGFuZCBzeXMvdGltZS5oIG1heSBib3RoIGJlIGluY2x1ZGVkCmNv bmZpZ3VyZTo5NjkxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1P MCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6OTY5MTogJD8gPSAwCmNvbmZpZ3VyZTo5Njk4OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6OTcwNjogY2hlY2tpbmcgd2hldGhlciBzeXNfc2lnbGlzdCBpcyBkZWNsYXJlZApjb25m aWd1cmU6OTcwNjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAg LWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjY3OjEwOiBlcnJvcjog J3N5c19zaWdsaXN0JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAg KHZvaWQpIHN5c19zaWdsaXN0OwogICAgICAgICAgXgpjb25mdGVzdC5jOjY3OjEwOiBub3RlOiBl YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2gg ZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6OTcwNjogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH TlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVt YWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVD S19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJS VU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBI X0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9M QVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZp bmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c2lnbmFsLmg+CnwgCnwgCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCAjaWZuZGVmIHN5c19zaWdsaXN0CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg ICAodm9pZCkgc3lzX3NpZ2xpc3Q7CnwgI2Vsc2UKfCAgICh2b2lkKSBzeXNfc2lnbGlzdDsKfCAj ZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjk3MDY6 IHJlc3VsdDogbm8KY29uZmlndXJlOjk3MjE6IGNoZWNraW5nIHdoZXRoZXIgX19zeXNfc2lnbGlz dCBpcyBkZWNsYXJlZApjb25maWd1cmU6OTcyMTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVz dC5jOjY4OjEwOiBlcnJvcjogJ19fc3lzX3NpZ2xpc3QnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICAodm9pZCkgX19zeXNfc2lnbGlzdDsKICAgICAgICAgIF4KY29u ZnRlc3QuYzo2ODoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0 ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjk3 MjE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg Imh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJl bWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJ TkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNL X1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8 ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNf TElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0Vf NjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElN RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzaWduYWwuaD4KfCAKfCAKfCBpbnQKfCBt YWluICgpCnwgewp8ICNpZm5kZWYgX19zeXNfc2lnbGlzdAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 ICAgKHZvaWQpIF9fc3lzX3NpZ2xpc3Q7CnwgI2Vsc2UKfCAgICh2b2lkKSBfX3N5c19zaWdsaXN0 Owp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 OTcyMTogcmVzdWx0OiBubwpjb25maWd1cmU6OTczNTogY2hlY2tpbmcgZm9yIHN5cy93YWl0Lmgg dGhhdCBpcyBQT1NJWC4xIGNvbXBhdGlibGUKY29uZmlndXJlOjk3NjE6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NzYxOiAkPyA9IDAKY29u ZmlndXJlOjk3Njg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NzgyOiBjaGVja2luZyBmb3IgbmV0 L2lmLmgKY29uZmlndXJlOjk3ODI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251 OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NzgyOiAkPyA9IDAKY29uZmlndXJlOjk3ODI6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTo5Nzk4OiBjaGVja2luZyBmb3IgaWZhZGRycy5oCmNvbmZpZ3VyZTo5Nzk4 OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j Ojk4OjIxOiBmYXRhbCBlcnJvcjogaWZhZGRycy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 CiAjaW5jbHVkZSA8aWZhZGRycy5oPgogICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9u IHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5Nzk4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy NC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUw Igp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19C WVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19D SEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAx CnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVT IDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VU TVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEK fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9T WVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg U1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5l ZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZF X1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgCnwgI2lu Y2x1ZGUgPGlmYWRkcnMuaD4KY29uZmlndXJlOjk3OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjk4 MTQ6IGNoZWNraW5nIGZvciBuZXQvaWZfZGwuaApjb25maWd1cmU6OTgxNDogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk4MTQ6ICQ/ID0gMApj b25maWd1cmU6OTgxNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk4Mjk6IGNoZWNraW5nIGZvciBz dHJ1Y3QgaWZyZXEuaWZyX2ZsYWdzCmNvbmZpZ3VyZTo5ODI5OiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTgyOTogJD8gPSAwCmNvbmZpZ3Vy ZTo5ODI5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTg0NTogY2hlY2tpbmcgZm9yIHN0cnVjdCBp ZnJlcS5pZnJfaHdhZGRyCmNvbmZpZ3VyZTo5ODQ1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0 ZXN0LmM6MTA3OjEyOiBlcnJvcjogJ3N0cnVjdCBpZnJlcScgaGFzIG5vIG1lbWJlciBuYW1lZCAn aWZyX2h3YWRkcicKIGlmIChhY19hZ2dyLmlmcl9od2FkZHIpCiAgICAgICAgICAgIF4KY29uZmln dXJlOjk4NDU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNL QUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVf Q0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdD X0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJ U1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNL X0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJ Tl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmlu ZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZp bmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19X QUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9E TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBF U19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNf U1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hF QURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vs c2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVu ZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENf SEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4K fCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9J TlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9V TklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NP Q0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRf SUZfSAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwg ewp8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5pZnJfaHdhZGRy KQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6OTg0NTogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4g ZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEwNzoxOTogZXJyb3I6ICdzdHJ1Y3QgaWZyZXEn IGhhcyBubyBtZW1iZXIgbmFtZWQgJ2lmcl9od2FkZHInCiBpZiAoc2l6ZW9mIGFjX2FnZ3IuaWZy X2h3YWRkcikKICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjk4NDU6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVn LWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251 Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUg R0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVO IDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExP Q19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmlu ZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9Q T1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfTEFSR0VfRklMRVMgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEK fCAjZGVmaW5lIFNZU1RFTV9UWVBFICJhaXgiCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RE TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhB VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRl IDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUg PHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl IDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRl IDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8 dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5 cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQv aWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZy ZXEgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3IuaWZyX2h3YWRkcikKfCByZXR1cm4gMDsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjk4NDU6IHJlc3VsdDogbm8KY29uZmln dXJlOjk4NjE6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZyX25ldG1hc2sKY29uZmlndXJl Ojk4NjE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDc6MTI6IGVycm9yOiAnc3Ry dWN0IGlmcmVxJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdpZnJfbmV0bWFzaycKIGlmIChhY19hZ2dy Lmlmcl9uZXRtYXNrKQogICAgICAgICAgICBeCmNvbmZpZ3VyZTo5ODYxOiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5v cmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdD X0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAx CnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0Nf T1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUg R0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwg I2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxF Q1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19f U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lz L3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJ Ql9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZF X01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8 c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxz dHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8 c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVu aXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMv c29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lm Lmg+CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVx IGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IuaWZyX25ldG1hc2spCnwgcmV0dXJuIDA7CnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5ODYxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0 ZXN0LmM6MTA3OjE5OiBlcnJvcjogJ3N0cnVjdCBpZnJlcScgaGFzIG5vIG1lbWJlciBuYW1lZCAn aWZyX25ldG1hc2snCiBpZiAoc2l6ZW9mIGFjX2FnZ3IuaWZyX25ldG1hc2spCiAgICAgICAgICAg ICAgICAgICBeCmNvbmZpZ3VyZTo5ODYxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40 LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3Mv Igp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8 ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRF UyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVD S19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwg I2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEK fCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxB R1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZk ZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUg PHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBp ZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5j bHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8 ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlm CnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKHNp emVvZiBhY19hZ2dyLmlmcl9uZXRtYXNrKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6OTg2MTogcmVzdWx0OiBubwpjb25maWd1cmU6OTg3NzogY2hlY2tpbmcg Zm9yIHN0cnVjdCBpZnJlcS5pZnJfYnJvYWRhZGRyCmNvbmZpZ3VyZTo5ODc3OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlv biAnbWFpbic6CmNvbmZ0ZXN0LmM6MTA3OjU6IGVycm9yOiB1c2VkIHN0cnVjdCB0eXBlIHZhbHVl IHdoZXJlIHNjYWxhciBpcyByZXF1aXJlZAogaWYgKGFjX2FnZ3IuaWZyX2Jyb2FkYWRkcikKICAg ICBeCmNvbmZpZ3VyZTo5ODc3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZp bmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJ TkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmlu ZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVm aW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4 Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNO QU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFW RV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRl Zi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVm aW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8 bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBI QVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lm IEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3Iu aWZyX2Jyb2FkYWRkcikKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjk4Nzc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1n MyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZTo5ODc3OiAkPyA9IDAKY29uZmlndXJlOjk4Nzc6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo5ODkzOiBjaGVja2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9hZGRyCmNvbmZpZ3VyZTo5ODkz OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTA4OjU6IGVycm9yOiB1c2VkIHN0cnVj dCB0eXBlIHZhbHVlIHdoZXJlIHNjYWxhciBpcyByZXF1aXJlZAogaWYgKGFjX2FnZ3IuaWZyX2Fk ZHIpCiAgICAgXgpjb25maWd1cmU6OTg5MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQu NC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmci CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNz LyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIK fCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllU RVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hF Q0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAx CnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1RE Q19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8 ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBT VERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5 Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZ U19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVf TkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IuaWZyX2Fk ZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5ODkzOiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTg5 MzogJD8gPSAwCmNvbmZpZ3VyZTo5ODkzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTkwOTogY2hl Y2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5pZnJfYWRkci5zYV9sZW4KY29uZmlndXJlOjk5MDk6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5OTA5 OiAkPyA9IDAKY29uZmlndXJlOjk5MDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5OTMzOiBjaGVj a2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtTU1EIC1NRgpjb25maWd1cmU6OTk0ODogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczIC1NTUQgLU1GIGRl cHMuZCAtTVAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6OTk0ODogJD8gPSAwCmNvbmZpZ3VyZTo5OTU3OiByZXN1bHQ6IHllcwpj b25maWd1cmU6OTk3NjogY2hlY2tpbmcgZm9yIGxvbmcgZmlsZSBuYW1lcwpjb25maWd1cmU6MTAw MDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDAyNTogY2hlY2tpbmcgZm9yIFgKY29uZmlndXJl OjEwMTMzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1FICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTAxMzM6 ICQ/ID0gMApjb25maWd1cmU6MTAxNjQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9p bmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgY29uZnRlc3QuYyAtbFgxMSAg PiY1IApjb25maWd1cmU6MTAxNjQ6ICQ/ID0gMApjb25maWd1cmU6MTAyMTQ6IHJlc3VsdDogbGli cmFyaWVzICwgaGVhZGVycyAKY29uZmlndXJlOjEwOTI4OiBjaGVja2luZyB3aGV0aGVyIG1hbGxv YyBpcyBEb3VnIExlYSBzdHlsZQpjb25maWd1cmU6MTA5NDk6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgY29uZnRl c3QuYyAgPiY1IApjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NzI6 MTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ21hbGxvY19zZXRf c3RhdGUnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogbWFsbG9jX3NldF9zdGF0 ZSAobWFsbG9jX2dldF9zdGF0ZSAoKSk7CiBeCmNvbmZ0ZXN0LmM6NzI6MTogd2FybmluZzogaW1w bGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ21hbGxvY19nZXRfc3RhdGUnIFstV2ltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQpjb25mdGVzdC5jOjczOjY6IGVycm9yOiAnX19hZnRl cl9tb3JlY29yZV9ob29rJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICAgICAgX19hZnRlcl9tb3JlY29yZV9ob29rID0gaG9vazsKICAgICAgXgpjb25mdGVzdC5jOjcz OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25j ZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZ0ZXN0LmM6NzQ6NjogZXJyb3I6 ICdfX21hbGxvY19pbml0aWFsaXplX2hvb2snIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAgICBfX21hbGxvY19pbml0aWFsaXplX2hvb2sgPSBob29rOwogICAgICBe CmNvbmZpZ3VyZToxMDk0OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVm aW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5l IEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5H X0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUg R0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAj ZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAj ZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmlu ZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIK fCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFN RV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAx CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1hbGxvYy5oPgp8IAkgICAgc3RhdGljIHZvaWQgaG9v ayAodm9pZCkge30KfCBpbnQKfCBtYWluICgpCnwgewp8IG1hbGxvY19zZXRfc3RhdGUgKG1hbGxv Y19nZXRfc3RhdGUgKCkpOwp8IAkgICAgX19hZnRlcl9tb3JlY29yZV9ob29rID0gaG9vazsKfCAJ ICAgIF9fbWFsbG9jX2luaXRpYWxpemVfaG9vayA9IGhvb2s7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToxMDk1NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTA5ODE6IGNoZWNraW5n IHN5cy92bGltaXQuaCB1c2FiaWxpdHkKY29uZmlndXJlOjEwOTgxOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTA5ODE6ICQ/ID0gMApjb25m aWd1cmU6MTA5ODE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDk4MTogY2hlY2tpbmcgc3lzL3Zs aW1pdC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxMDk4MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtRSAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNv bmZ0ZXN0LmMKY29uZmlndXJlOjEwOTgxOiAkPyA9IDAKY29uZmlndXJlOjEwOTgxOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTA5ODE6IGNoZWNraW5nIGZvciBzeXMvdmxpbWl0LmgKY29uZmlndXJl OjEwOTgxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA5OTE6IGNoZWNraW5nIGZvciBkYXRhX3N0 YXJ0CmNvbmZpZ3VyZToxMTAwNzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiBjb25mdGVzdC5jICA+JjUgCmxkOiAw NzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogZGF0YV9zdGFydApsZDogMDcxMS0zNDUg VXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZv cm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZp Z3VyZToxMTAwNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBB Q0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJM RV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUg R0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVf TElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hF Q0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVB 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 X1ZMSU1JVF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgZXh0ZXJuIGNoYXIgZGF0YV9z dGFydFtdOyBjaGFyIGNoOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGRhdGFfc3RhcnQg PCAmY2g7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTAxNTogcmVzdWx0OiBu bwpjb25maWd1cmU6MTEwNjI6IGNoZWNraW5nIGZvciBnZXRwYWdlc2l6ZQpjb25maWd1cmU6MTEw NjI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8w IC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9saWIgY29uZnRlc3QuYyAgPiY1IApjb25maWd1cmU6MTEwNjI6ICQ/ID0g MApjb25maWd1cmU6MTEwNjI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTA3MTogY2hlY2tpbmcg Zm9yIHdvcmtpbmcgbW1hcApjb25maWd1cmU6MTEyMTg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgY29uZnRlc3Qu YyAgPiY1IApjb25maWd1cmU6MTEyMTg6ICQ/ID0gMApjb25maWd1cmU6MTEyMTg6IC4vY29uZnRl c3QKY29uZmlndXJlOjExMjE4OiAkPyA9IDAKY29uZmlndXJlOjExMjI4OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTEyNDY6IGNoZWNraW5nIGZvciBtYWluIGluIC1sWGJzZApjb25maWd1cmU6MTEy NjU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8w IC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9saWIgY29uZnRlc3QuYyAtbFhic2QgIC1scnRzIC1sSU0gLWxpY29udiAg PiY1IApjb2xsZWN0MjogZmF0YWwgZXJyb3I6IGxpYnJhcnkgbGliWGJzZCBub3QgZm91bmQKY29t cGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjExMjY1OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO VSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1h Y3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNL X1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2Rl ZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJV Tl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhf REVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT 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 QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBtYWluICgpOwp8ICAgOwp8ICAgcmV0 dXJuIDA7CnwgfQpjb25maWd1cmU6MTEyNzQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjExMjk0OiBj aGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHB0aHJlYWRfYXRmb3JrCmNvbmZpZ3VyZTox MTMyNTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt TzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiBjb25mdGVzdC5jIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IAps ZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5wdGhyZWFkX2F0Zm9yawpsZDog MDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4g bW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3Rh dHVzCmNvbmZpZ3VyZToxMTMyNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVm aW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RS SU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZp bmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5l 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 bmUgSEFWRV9NTUFQIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUg YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBw dGhyZWFkX2F0Zm9yayAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBwdGhyZWFkX2F0 Zm9yayAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExMzI1OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMCAtZzMgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvbGliIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29u ZmlndXJlOjExMzI1OiAkPyA9IDAKY29uZmlndXJlOjExMzQzOiByZXN1bHQ6IC1scHRocmVhZApj b25maWd1cmU6MTEzNjQ6IGNoZWNraW5nIGZvciAtYmJpZ3RvYyBvcHRpb24KY29uZmlndXJlOjEx Mzg3OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1P MCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyBjb25mdGVzdC5jIC1scnRzIC1sSU0gLWxp Y29udiAgPiY1IApjb25maWd1cmU6MTEzODc6ICQ/ID0gMApjb25maWd1cmU6MTEzOTY6IHJlc3Vs dDogLVdsLC1iYmlndG9jCmNvbmZpZ3VyZToxMTQ4OTogY2hlY2tpbmcgZm9yIFhrYgpjb25maWd1 cmU6MTE1MDM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxYMTEg LWxydHMgLWxJTSAtbGljb252ICA+JjUgCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25mdGVzdC5j OjcyOjA6Ci91c3IvaW5jbHVkZS9YMTEvWEtCbGliLmg6NTA6MzU6IGZhdGFsIGVycm9yOiBYMTEv ZXh0ZW5zaW9ucy9YS0JzdHIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUg PFgxMS9leHRlbnNpb25zL1hLQnN0ci5oPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjExNTAzOiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1 Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3Lmdu dS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5l IEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJV TiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxM T0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZp bmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf 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 VEhSRUFEIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPFgxMS9YbGliLmg+ CnwgI2luY2x1ZGUgPFgxMS9YS0JsaWIuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IFhrYkRlc2NQ dHIga2IgPSBYa2JHZXRLZXlib2FyZCAoMCwgWGtiQWxsQ29tcG9uZW50c01hc2ssIFhrYlVzZUNv cmVLYmQpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTE1MTA6IHJlc3VsdDog bm8KY29uZmlndXJlOjExNTIyOiBjaGVja2luZyBmb3IgWHJtU2V0RGF0YWJhc2UKY29uZmlndXJl OjExNTIyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1s cnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTE1MjI6ICQ/ID0gMApjb25maWd1cmU6 MTE1MjI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTUyMjogY2hlY2tpbmcgZm9yIFhTY3JlZW5S ZXNvdXJjZVN0cmluZwpjb25maWd1cmU6MTE1MjI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0 b2MgIGNvbmZ0ZXN0LmMgLWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZTox MTUyMjogJD8gPSAwCmNvbmZpZ3VyZToxMTUyMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExNTIy OiBjaGVja2luZyBmb3IgWFNjcmVlbk51bWJlck9mU2NyZWVuCmNvbmZpZ3VyZToxMTUyMjogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAg ICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0cyAtbElNIC1s aWNvbnYgID4mNSAKY29uZmlndXJlOjExNTIyOiAkPyA9IDAKY29uZmlndXJlOjExNTIyOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTE1MzQ6IGNoZWNraW5nIFgxMSB2ZXJzaW9uIDYKY29uZmlndXJl OjExNTUzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1s cnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTE1NTM6ICQ/ID0gMApjb25maWd1cmU6 MTE1NjM6IHJlc3VsdDogNiBvciBuZXdlcgpjb25maWd1cmU6MTMwMTA6IGNoZWNraW5nIGZvciB4 YXczZApjb25maWd1cmU6MTMwMTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMDE0OiBjaGVja2lu ZyBmb3IgbGliWGF3CmNvbmZpZ3VyZToxMzAzMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3Rv YyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjEz MDMyOiAkPyA9IDAKY29uZmlndXJlOjEzMDQyOiByZXN1bHQ6IHllczsgdXNpbmcgTHVjaWQgdG9v bGtpdApjb25maWd1cmU6MTMwNjM6IGNoZWNraW5nIFgxMSB0b29sa2l0IHZlcnNpb24KY29uZmln dXJlOjEzMDgyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDEx IC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTMwODI6ICQ/ID0gMApjb25maWd1 cmU6MTMwOTM6IHJlc3VsdDogNiBvciBuZXdlcgpjb25maWd1cmU6MTMxMTQ6IGNoZWNraW5nIGZv ciBsaWJyYXJ5IGNvbnRhaW5pbmcgWG11Q29udmVydFN0YW5kYXJkU2VsZWN0aW9uCmNvbmZpZ3Vy ZToxMzE0NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVz dCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAt bHJ0cyAtbElNIC1saWNvbnYgID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3lt Ym9sOiAuWG11Q29udmVydFN0YW5kYXJkU2VsZWN0aW9uCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1i bG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpj b2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjEzMTQ1 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJo dHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1h Y3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5H IDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19T VFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAj ZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJ U1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj 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 MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVy bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGlu dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRl ZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIFhtdUNvbnZlcnRTdGFu ZGFyZFNlbGVjdGlvbiAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBYbXVDb252ZXJ0 U3RhbmRhcmRTZWxlY3Rpb24gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTox MzE0NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAg LU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFhtdSAtbFh0 IC1sU00gLWxJQ0UgLWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxMzE0 NTogJD8gPSAwCmNvbmZpZ3VyZToxMzE2MjogcmVzdWx0OiAtbFhtdQpjb25maWd1cmU6MTMzNjU6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgIC1PMCAtZzMgICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjEzMzY1OiAkPyA9IDAKY29uZmlndXJlOjEzNDE0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jICAtTzAgLWczIC0tcGVkYW50aWMtZXJyb3JzICAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1 bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo5ODo0OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCA1 IG9mICdYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2snIGZyb20gaW5jb21wYXRpYmxlIHBv aW50ZXIgdHlwZQogICAgY2xpZW50X2RhdGEpOwogICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g Y29uZnRlc3QuYzo4MDowOgovdXNyL2luY2x1ZGUvWDExL1hsaWIuaDozOTU2OjEzOiBub3RlOiBl eHBlY3RlZCAnWElEUHJvYycgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ1hJTVByb2MnCiBleHRl cm4gQm9vbCBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2soCiAgICAgICAgICAgICBeCmNv bmZ0ZXN0LmM6OTg6NDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgNiBvZiAnWFJlZ2lzdGVySU1J bnN0YW50aWF0ZUNhbGxiYWNrJyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUKICAgIGNs aWVudF9kYXRhKTsKICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6ODA6MDoK L3Vzci9pbmNsdWRlL1gxMS9YbGliLmg6Mzk1NjoxMzogbm90ZTogZXhwZWN0ZWQgJ1hQb2ludGVy JyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnY2hhciAqKicKIGV4dGVybiBCb29sIFhSZWdpc3Rl cklNSW5zdGFudGlhdGVDYWxsYmFjaygKICAgICAgICAgICAgIF4KY29uZmlndXJlOjEzNDE0OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRw Oi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3Mi CnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEK fCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJ TkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVm aW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1Qg MQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm 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 bmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVN QkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4 TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8 ICNkZWZpbmUgSEFWRV9YSU0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVk ZSA8WDExL1hsaWIuaD4KfCAjaW5jbHVkZSA8WDExL1hyZXNvdXJjZS5oPgp8IGludAp8IG1haW4g KCkKfCB7CnwgRGlzcGxheSAqZGlzcGxheTsKfCBYcm1EYXRhYmFzZSBkYjsKfCBjaGFyICpyZXNf bmFtZTsKfCBjaGFyICpyZXNfY2xhc3M7CnwgWElNUHJvYyAgY2FsbGJhY2s7CnwgWFBvaW50ZXIg KmNsaWVudF9kYXRhOwp8ICNpZm5kZWYgX19HTlVDX18KfCAvKiBJZiB3ZSdyZSBub3QgdXNpbmcg R0NDLCBpdCdzIHByb2JhYmx5IG5vdCBYRnJlZTg2LCBhbmQgdGhpcyBpcwp8ICAgIHByb2JhYmx5 IHJpZ2h0LCBidXQgd2UgY2FuJ3QgdXNlIHNvbWV0aGluZyBsaWtlIC0tcGVkYW50aWMtZXJyb3Jz LiAgKi8KfCBleHRlcm4gQm9vbCBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2soRGlzcGxh eSosIFhybURhdGFiYXNlLCBjaGFyKiwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY2hhciosIFhJTVByb2MsIFhQb2ludGVyKik7CnwgI2VuZGlmCnwgKHZvaWQp WFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrKGRpc3BsYXksIGRiLCByZXNfbmFtZSwgcmVz X2NsYXNzLCBjYWxsYmFjaywKfCAgICBjbGllbnRfZGF0YSk7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToxMzQzNjogY2hlY2tpbmcgZm9yIEZPTlRDT05GSUcKY29uZmlndXJlOjEz NDk1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDg2MjogY2hlY2tpbmcgWDExL1NNL1NNbGliLmgg dXNhYmlsaXR5CmNvbmZpZ3VyZToxNDg2MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQ4NjI6ICQ/ID0gMApjb25maWd1cmU6MTQ4NjI6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDg2MjogY2hlY2tpbmcgWDExL1NNL1NNbGliLmggcHJl c2VuY2UKY29uZmlndXJlOjE0ODYyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1FICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMK Y29uZmlndXJlOjE0ODYyOiAkPyA9IDAKY29uZmlndXJlOjE0ODYyOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTQ4NjI6IGNoZWNraW5nIGZvciBYMTEvU00vU01saWIuaApjb25maWd1cmU6MTQ4NjI6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDg2NDogY2hlY2tpbmcgZm9yIFNtY09wZW5Db25uZWN0 aW9uIGluIC1sU00KY29uZmlndXJlOjE0ODg5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9j ICBjb25mdGVzdC5jIC1sU00gLWxJQ0UgLWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNv bmZpZ3VyZToxNDg4OTogJD8gPSAwCmNvbmZpZ3VyZToxNDg5ODogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE0OTI0OiBjaGVja2luZyBmb3IgWFJBTkRSCmNvbmZpZ3VyZToxNDk4MzogcmVzdWx0OiBu bwpjb25maWd1cmU6MTQ5OTY6IGNoZWNraW5nIGZvciBYMTEvZXh0ZW5zaW9ucy9YcmFuZHIuaApj b25maWd1cmU6MTQ5OTY6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1MDgwOiBjaGVja2luZyBmb3Ig WElORVJBTUEKY29uZmlndXJlOjE1MTM5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTE1MjogY2hl Y2tpbmcgZm9yIFgxMS9leHRlbnNpb25zL1hpbmVyYW1hLmgKY29uZmlndXJlOjE1MTUyOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToxNTIxNzogY2hlY2tpbmcgZm9yIFhGSVhFUwpjb25maWd1cmU6MTUy NzY6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1Mjg5OiBjaGVja2luZyBYMTEvZXh0ZW5zaW9ucy9Y Zml4ZXMuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE1Mjg5OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1jICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MTE0OjM1OiBmYXRhbCBlcnJvcjog WDExL2V4dGVuc2lvbnMvWGZpeGVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNs dWRlIDxYMTEvZXh0ZW5zaW9ucy9YZml4ZXMuaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxNTI4OTogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3 dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2Rl ZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09W RVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBY TUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAj ZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI 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 aW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19h cmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5j bHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMg aW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBp bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRl ZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYg ZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8 ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwg IyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8 ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8 ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAj IGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9Y Zml4ZXMuaD4KY29uZmlndXJlOjE1Mjg5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTI4OTogY2hl Y2tpbmcgWDExL2V4dGVuc2lvbnMvWGZpeGVzLmggcHJlc2VuY2UKY29uZmlndXJlOjE1Mjg5OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1FICAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo4MTozNTogZmF0YWwg ZXJyb3I6IFgxMS9leHRlbnNpb25zL1hmaXhlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 CiAjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWGZpeGVzLmg+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTUyODk6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0 dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcg MQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NU UklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNk ZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElT VCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk 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 CnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2Fs bGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPFgxMS9leHRlbnNpb25zL1hmaXhlcy5oPgpjb25maWd1cmU6 MTUyODk6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1Mjg5OiBjaGVja2luZyBmb3IgWDExL2V4dGVu c2lvbnMvWGZpeGVzLmgKY29uZmlndXJlOjE1Mjg5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTUx MTogY2hlY2tpbmcgd2hldGhlciBuZXRkYiBkZWNsYXJlcyBoX2Vycm5vCmNvbmZpZ3VyZToxNTUy NzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8w IC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0cyAt bElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE1NTI3OiAkPyA9IDAKY29uZmlndXJlOjE1NTM1 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU1NDU6IGNoZWNraW5nIGZvciBtYWlsbG9jayBpbiAt bG1haWwKY29uZmlndXJlOjE1NTcwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9p bmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25m dGVzdC5jIC1sbWFpbCAgLWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbGxlY3QyOiBm YXRhbCBlcnJvcjogbGlicmFyeSBsaWJtYWlsIG5vdCBmb3VuZApjb21waWxhdGlvbiB0ZXJtaW5h dGVkLgpjb25maWd1cmU6MTU1NzA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2Rl ZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEK fCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NU UklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVm aW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmlu 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 ZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVn aXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9Y X1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy cm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw ZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3 b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8 ICNlbmRpZgp8IGNoYXIgbWFpbGxvY2sgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4g bWFpbGxvY2sgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTU3OTogcmVz dWx0OiBubwpjb25maWd1cmU6MTU2MTA6IGNoZWNraW5nIGZvciBtYWlsbG9jayBpbiAtbGxvY2tm aWxlCmNvbmZpZ3VyZToxNTYzNTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRl c3QuYyAtbGxvY2tmaWxlICAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29sbGVjdDI6 IGZhdGFsIGVycm9yOiBsaWJyYXJ5IGxpYmxvY2tmaWxlIG5vdCBmb3VuZApjb21waWxhdGlvbiB0 ZXJtaW5hdGVkLgpjb25maWd1cmU6MTU2MzU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBF bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0 LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFj cy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAi CnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZ VEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NI RUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEK fCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwg 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 IDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmlu ZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUg SEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk IGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1 cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3Rv dHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJu ICJDIgp8ICNlbmRpZgp8IGNoYXIgbWFpbGxvY2sgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBy ZXR1cm4gbWFpbGxvY2sgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTY0 NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTU2NjM6IGNoZWNraW5nIGZvciBsaWJsb2NrZmlsZS5z bwpjb25maWd1cmU6MTU2OTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1Nzc1OiBjaGVja2luZyBm b3IgYWNjZXB0NApjb25maWd1cmU6MTU3NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAK bGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAuYWNjZXB0NApsZDogMDcxMS0z NDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBp bmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNv bmZpZ3VyZToxNTc3NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQu NC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5l IFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVO QUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZp bmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZS RUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0Nf Q0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENf 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 SEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklN SW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8 ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGFjY2VwdDQgdG8gYW4gaW5ub2N1b3VzIHZh cmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBhY2NlcHQ0Lgp8ICAgIEZvciBleGFt cGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNk ZWZpbmUgYWNjZXB0NCBpbm5vY3VvdXNfYWNjZXB0NAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8g ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAg d2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBhY2NlcHQ0ICgpOyBiZWxvdy4KfCAgICAgUHJl ZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5j ZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UK fCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBhY2NlcHQ0CnwgCnwg LyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m IGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk IHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2Vu ZGlmCnwgY2hhciBhY2NlcHQ0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwg d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29t ZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4g ICovCnwgI2lmIGRlZmluZWQgX19zdHViX2FjY2VwdDQgfHwgZGVmaW5lZCBfX3N0dWJfX19hY2Nl cHQ0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBh Y2NlcHQ0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTU3NzU6IHJlc3Vs dDogbm8KY29uZmlndXJlOjE1Nzc1OiBjaGVja2luZyBmb3IgZ2V0aG9zdG5hbWUKY29uZmlndXJl OjE1Nzc1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVh ZCAtbG0gLWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxNTc3NTogJD8g PSAwCmNvbmZpZ3VyZToxNTc3NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1Nzc1OiBjaGVja2lu ZyBmb3IgZ2V0cnVzYWdlCmNvbmZpZ3VyZToxNTc3NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJp Z3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgLWxtIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAg PiY1IApjb25maWd1cmU6MTU3NzU6ICQ/ID0gMApjb25maWd1cmU6MTU3NzU6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNTc3NTogY2hlY2tpbmcgZm9yIGdldF9jdXJyZW50X2Rpcl9uYW1lCmNvbmZp Z3VyZToxNTc3NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0 aHJlYWQgLWxtIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTU3NzU6 ICQ/ID0gMApjb25maWd1cmU6MTU3NzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTc3NTogY2hl Y2tpbmcgZm9yIGxyYW5kNDgKY29uZmlndXJlOjE1Nzc1OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1i YmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAtbG0gLWxYMTEgLWxydHMgLWxJTSAtbGljb252 ICA+JjUgCmNvbmZpZ3VyZToxNTc3NTogJD8gPSAwCmNvbmZpZ3VyZToxNTc3NTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE1Nzc1OiBjaGVja2luZyBmb3IgcmFuZG9tCmNvbmZpZ3VyZToxNTc3NTog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1n MyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgLWxtIC1s WDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTU3NzU6ICQ/ID0gMApjb25m aWd1cmU6MTU3NzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTc3NTogY2hlY2tpbmcgZm9yIHJp bnQKY29uZmlndXJlOjE1Nzc1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNs dWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVz dC5jIC1scHRocmVhZCAtbG0gLWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZ0ZXN0 LmM6MTExOjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlv biAncmludCcgW2VuYWJsZWQgYnkgZGVmYXVsdF0KIGNoYXIgcmludCAoKTsKICAgICAgXgpjb25m aWd1cmU6MTU3NzU6ICQ/ID0gMApjb25maWd1cmU6MTU3NzU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNTc3NTogY2hlY2tpbmcgZm9yIHNlbGVjdApjb25maWd1cmU6MTU3NzU6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgxMSAtbHJ0cyAt bElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE1Nzc1 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NzU6IGNoZWNraW5nIGZvciBnZXRwYWdlc2l6ZQpj b25maWd1cmU6MTU3NzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTc3NTogY2hlY2tpbmcgZm9y IHNldGxvY2FsZQpjb25maWd1cmU6MTU3NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAK Y29uZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE1Nzc1OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTU3NzU6IGNoZWNraW5nIGZvciBnZXRybGltaXQKY29uZmlndXJlOjE1Nzc1OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAtbG0gLWxYMTEg LWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxNTc3NTogJD8gPSAwCmNvbmZpZ3Vy ZToxNTc3NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1Nzc1OiBjaGVja2luZyBmb3Igc2V0cmxp bWl0CmNvbmZpZ3VyZToxNTc3NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRl c3QuYyAtbHB0aHJlYWQgLWxtIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1 cmU6MTU3NzU6ICQ/ID0gMApjb25maWd1cmU6MTU3NzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NTc3NTogY2hlY2tpbmcgZm9yIHNodXRkb3duCmNvbmZpZ3VyZToxNTc3NTogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv bGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgLWxtIC1sWDExIC1scnRzIC1s SU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTU3NzU6ICQ/ID0gMApjb25maWd1cmU6MTU3NzU6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTc3NTogY2hlY2tpbmcgZm9yIGdldGFkZHJpbmZvCmNv bmZpZ3VyZToxNTc3NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAt bHB0aHJlYWQgLWxtIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTU3 NzU6ICQ/ID0gMApjb25maWd1cmU6MTU3NzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTc3NTog Y2hlY2tpbmcgZm9yIHB0aHJlYWRfc2lnbWFzawpjb25maWd1cmU6MTU3NzU6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgxMSAtbHJ0cyAt bElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE1Nzc1 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NzU6IGNoZWNraW5nIGZvciBzdHJzaWduYWwKY29u ZmlndXJlOjE1Nzc1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAt TDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1s cHRocmVhZCAtbG0gLWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxNTc3 NTogJD8gPSAwCmNvbmZpZ3VyZToxNTc3NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1Nzc1OiBj aGVja2luZyBmb3Igc2V0aXRpbWVyCmNvbmZpZ3VyZToxNTc3NTogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1X bCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgLWxtIC1sWDExIC1scnRzIC1sSU0gLWxp Y29udiAgPiY1IApjb25maWd1cmU6MTU3NzU6ICQ/ID0gMApjb25maWd1cmU6MTU3NzU6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxNTc3NTogY2hlY2tpbmcgZm9yIHNlbmR0bwpjb25maWd1cmU6MTU3 NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1P MCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1s bSAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE1Nzc1OiAkPyA9IDAK Y29uZmlndXJlOjE1Nzc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NzU6IGNoZWNraW5nIGZv ciByZWN2ZnJvbQpjb25maWd1cmU6MTU3NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAK Y29uZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE1Nzc1OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTU3NzU6IGNoZWNraW5nIGZvciBnZXRzb2NrbmFtZQpjb25maWd1cmU6MTU3NzU6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMg ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgx MSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29uZmln dXJlOjE1Nzc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NzU6IGNoZWNraW5nIGZvciBnZXRw ZWVybmFtZQpjb25maWd1cmU6MTU3NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNv bmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29u ZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE1Nzc1OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTU3NzU6IGNoZWNraW5nIGZvciBnZXRpZmFkZHJzCmNvbmZpZ3VyZToxNTc3NTogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgLWxtIC1sWDExIC1s cnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1i b2w6IC5nZXRpZmFkZHJzCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVp ZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxk IHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE1Nzc1OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUt ZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcv c29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NI RUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZF UlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZ UEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ 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 QVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50 ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZp bmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dO IDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2V0aWZhZGRycyB0byBhbiBpbm5v Y3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldGlmYWRkcnMuCnwg ICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRh eS4gICovCnwgI2RlZmluZSBnZXRpZmFkZHJzIGlubm9jdW91c19nZXRpZmFkZHJzCnwgCnwgLyog U3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBw cm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldGlmYWRkcnMg KCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1RE Q19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJl ZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRl IDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwg I3VuZGVmIGdldGlmYWRkcnMKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3Rv dHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBh cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVz cGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGdldGlmYWRkcnMgKCk7CnwgLyogVGhl IEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVt ZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFy ZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhl IG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ2V0aWZh ZGRycyB8fCBkZWZpbmVkIF9fc3R1Yl9fX2dldGlmYWRkcnMKfCBjaG9rZSBtZQp8ICNlbmRpZgp8 IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGdldGlmYWRkcnMgKCk7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTc3NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTU3NzU6 IGNoZWNraW5nIGZvciBmcmVlaWZhZGRycwpjb25maWd1cmU6MTU3NzU6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xp YiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgxMSAtbHJ0cyAtbElN IC1saWNvbnYgID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAuZnJl ZWlmYWRkcnMKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRp b24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJu ZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTU3NzU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVt YWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0Bn bnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RS SU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5l IEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NI RUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJV RyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx 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 UjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwg I2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNk ZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlM X1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZp bmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwg I2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBmcmVlaWZhZGRycyB0byBhbiBpbm5vY3VvdXMg dmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGZyZWVpZmFkZHJzLgp8ICAgIEZv ciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAq Lwp8ICNkZWZpbmUgZnJlZWlmYWRkcnMgaW5ub2N1b3VzX2ZyZWVpZmFkZHJzCnwgCnwgLyogU3lz dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGZyZWVpZmFkZHJzICgp OyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENf XyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVz dGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8 bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1 bmRlZiBmcmVlaWZhZGRycwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90 eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNw bHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZnJlZWlmYWRkcnMgKCk7CnwgLyogVGhl IEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVt ZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFy ZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhl IG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZnJlZWlm YWRkcnMgfHwgZGVmaW5lZCBfX3N0dWJfX19mcmVlaWZhZGRycwp8IGNob2tlIG1lCnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZnJlZWlmYWRkcnMgKCk7CnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTc3NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTU3 NzU6IGNoZWNraW5nIGZvciBnYWlfc3RyZXJyb3IKY29uZmlndXJlOjE1Nzc1OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAtbG0gLWxYMTEgLWxydHMg LWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxNTc3NTogJD8gPSAwCmNvbmZpZ3VyZToxNTc3 NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1Nzc1OiBjaGVja2luZyBmb3Igc3luYwpjb25maWd1 cmU6MTU3NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhy ZWFkIC1sbSAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE1Nzc1OiAk PyA9IDAKY29uZmlndXJlOjE1Nzc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NzU6IGNoZWNr aW5nIGZvciBnZXRwd2VudApjb25maWd1cmU6MTU3NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJi aWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYg ID4mNSAKY29uZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE1Nzc1OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTU3NzU6IGNoZWNraW5nIGZvciBlbmRwd2VudApjb25maWd1cmU6MTU3NzU6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAt ZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAt bFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29u ZmlndXJlOjE1Nzc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NzU6IGNoZWNraW5nIGZvciBn ZXRncmVudApjb25maWd1cmU6MTU3NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNv bmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29u ZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE1Nzc1OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTU3NzU6IGNoZWNraW5nIGZvciBlbmRncmVudApjb25maWd1cmU6MTU3NzU6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgxMSAtbHJ0 cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE1 Nzc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NzU6IGNoZWNraW5nIGZvciBjZm1ha2VyYXcK Y29uZmlndXJlOjE1Nzc1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRl ICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5j IC1scHRocmVhZCAtbG0gLWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZTox NTc3NTogJD8gPSAwCmNvbmZpZ3VyZToxNTc3NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1Nzc1 OiBjaGVja2luZyBmb3IgY2ZzZXRzcGVlZApjb25maWd1cmU6MTU3NzU6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xp YiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkIC1sbSAtbFgxMSAtbHJ0cyAtbElN IC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE1Nzc1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NzU6IGNoZWNraW5nIGZvciBjb3B5c2lnbgpjb25maWd1 cmU6MTU3NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhy ZWFkIC1sbSAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZnRlc3QuYzoxMzQ6Njog d2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdjb3B5c2ln bicgW2VuYWJsZWQgYnkgZGVmYXVsdF0KIGNoYXIgY29weXNpZ24gKCk7CiAgICAgIF4KY29uZmln dXJlOjE1Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE1Nzc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTU3NzU6IGNoZWNraW5nIGZvciBfX2V4ZWN1dGFibGVfc3RhcnQKY29uZmlndXJlOjE1Nzc1OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWcz ICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAtbG0gLWxY MTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVk IHN5bWJvbDogLl9fZXhlY3V0YWJsZV9zdGFydApsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRt YXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVj dDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNTc3NTogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDov L3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5H X09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmlu ZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEK fCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu 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 ZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFj a19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VS Uk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5E T00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVf UkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf U1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2Rl ZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5l IF9fZXhlY3V0YWJsZV9zdGFydCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGlt aXRzLmg+IGRlY2xhcmVzIF9fZXhlY3V0YWJsZV9zdGFydC4KfCAgICBGb3IgZXhhbXBsZSwgSFAt VVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIF9f ZXhlY3V0YWJsZV9zdGFydCBpbm5vY3VvdXNfX19leGVjdXRhYmxlX3N0YXJ0CnwgCnwgLyogU3lz dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIF9fZXhlY3V0YWJsZV9z dGFydCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYg X19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBv biBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGlu Y2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYK fCAKfCAjdW5kZWYgX19leGVjdXRhYmxlX3N0YXJ0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBh bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAj aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBfX2V4ZWN1dGFi bGVfc3RhcnQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5j dGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3Rh cnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYg ZGVmaW5lZCBfX3N0dWJfX19leGVjdXRhYmxlX3N0YXJ0IHx8IGRlZmluZWQgX19zdHViX19fX19l eGVjdXRhYmxlX3N0YXJ0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwg ewp8IHJldHVybiBfX2V4ZWN1dGFibGVfc3RhcnQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZToxNTc3NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTU3NzU6IGNoZWNraW5nIGZv ciBsb2cyCmNvbmZpZ3VyZToxNTc3NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv aW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29u ZnRlc3QuYyAtbHB0aHJlYWQgLWxtIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25m dGVzdC5jOjEzNTo2OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVu Y3Rpb24gJ2xvZzInIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiBjaGFyIGxvZzIgKCk7CiAgICAgIF4K Y29uZmlndXJlOjE1Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE1Nzc1OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTU4MDE6IGNoZWNraW5nIGZvciBfX2J1aWx0aW5fdW53aW5kX2luaXQKY29uZmlndXJl OjE1ODE3OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1s cnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTU4MTc6ICQ/ID0gMApjb25maWd1cmU6 MTU4MjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTgzNzogY2hlY2tpbmcgZm9yIF9MQVJHRUZJ TEVfU09VUkNFIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKY29uZmlndXJlOjE1ODU2OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWcz ICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0g LWxpY29udiAgPiY1IApjb25maWd1cmU6MTU4NTY6ICQ/ID0gMApjb25maWd1cmU6MTU4ODQ6IHJl c3VsdDogbm8KY29uZmlndXJlOjE1OTA5OiBjaGVja2luZyBmb3IgZ3JhbnRwdApjb25maWd1cmU6 MTU5MDk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg IC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxYMTEgLWxy dHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxNTkwOTogJD8gPSAwCmNvbmZpZ3VyZTox NTkwOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1OTIzOiBjaGVja2luZyBmb3IgZ2V0cHQKY29u ZmlndXJlOjE1OTIzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAt TDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1s WDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5l ZCBzeW1ib2w6IC5nZXRwdApsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1 aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBs ZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNTkyMzogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3Jn L3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19D SEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09W RVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdM WVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U 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 WElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2lu dGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVm aW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAx CnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZp bmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9X TiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf Q0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NP UFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2V0cHQgdG8gYW4gaW5u b2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRwdC4KfCAgICBG b3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAg Ki8KfCAjZGVmaW5lIGdldHB0IGlubm9jdW91c19nZXRwdAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIg dG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAg ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRwdCAoKTsgYmVsb3cuCnwgICAgIFBy ZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2lu Y2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJz LiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNl CnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZ2V0cHQKfCAKfCAv KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4K fCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg c3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5k aWYKfCBjaGFyIGdldHB0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBm b3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0 aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRo aW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICov CnwgI2lmIGRlZmluZWQgX19zdHViX2dldHB0IHx8IGRlZmluZWQgX19zdHViX19fZ2V0cHQKfCBj aG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGdldHB0ICgp Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTU5MjM6IHJlc3VsdDogbm8KY29u ZmlndXJlOjE1OTIzOiBjaGVja2luZyBmb3IgcG9zaXhfb3BlbnB0CmNvbmZpZ3VyZToxNTkyMzog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1n MyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0cyAtbElN IC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE1OTIzOiAkPyA9IDAKY29uZmlndXJlOjE1OTIzOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTU5Mzg6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5p bmcgdHB1dHMKY29uZmlndXJlOjE1OTk0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcxMS0zMTcgRVJS T1I6IFVuZGVmaW5lZCBzeW1ib2w6IC50cHV0cwpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRt YXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVj dDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNTk5NDogJD8g PSAxCmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tf U1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVm aW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVO X0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9E RUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf 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 WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAx CnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8 ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBN QUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVf R0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFL RVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lH TiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5E X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg CnwgICBleHRlcm4gdm9pZCB0cHV0cyAoY29uc3QgY2hhciAqLCBpbnQsIGludCAoKikoaW50KSk7 CnwgICAgICAgIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCnwgICAgICAgIHsKfCAJ ICBpZiAoYXJnYyA9PSAxMDAwMCkKfCAJICAgIHRwdXRzIChhcmd2WzBdLCAwLCAwKTsKfCAJICBy ZXR1cm4gMDsKfCAgICAgICAgfQp8IApjb25maWd1cmU6MTU5OTQ6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAt V2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWx0aW5mbyAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYg ID4mNSAKY29sbGVjdDI6IGZhdGFsIGVycm9yOiBsaWJyYXJ5IGxpYnRpbmZvIG5vdCBmb3VuZApj b21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTU5OTQ6ICQ/ID0gMQpjb25maWd1cmU6 IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8 ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNk ZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAx CnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19T VFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2Rl ZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZp 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 I2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJl Z2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVf WF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0Yg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNk ZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVf R0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZp bmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUg SEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZF X1BPU0lYX09QRU5QVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICAgZXh0ZXJuIHZv aWQgdHB1dHMgKGNvbnN0IGNoYXIgKiwgaW50LCBpbnQgKCopKGludCkpOwp8ICAgICAgICBpbnQg bWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQp8ICAgICAgICB7CnwgCSAgaWYgKGFyZ2MgPT0g MTAwMDApCnwgCSAgICB0cHV0cyAoYXJndlswXSwgMCwgMCk7CnwgCSAgcmV0dXJuIDA7CnwgICAg ICAgIH0KfCAKY29uZmlndXJlOjE1OTk0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1sbmN1cnNlcyAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29sbGVj dDI6IGZhdGFsIGVycm9yOiBsaWJyYXJ5IGxpYm5jdXJzZXMgbm90IGZvdW5kCmNvbXBpbGF0aW9u IHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxNTk5NDogJD8gPSAxCmNvbmZpZ3VyZTogcHJvZ3JhbSBl eGl0ZWQgd2l0aCBzdGF0dXMgMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQ QUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFC TEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5l IEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVF X0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NI RUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hF 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 VkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUlu c3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZF X1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VU TE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIg MQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9G U0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BF TlBUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgICBleHRlcm4gdm9pZCB0cHV0cyAo Y29uc3QgY2hhciAqLCBpbnQsIGludCAoKikoaW50KSk7CnwgICAgICAgIGludCBtYWluIChpbnQg YXJnYywgY2hhciAqKmFyZ3YpCnwgICAgICAgIHsKfCAJICBpZiAoYXJnYyA9PSAxMDAwMCkKfCAJ ICAgIHRwdXRzIChhcmd2WzBdLCAwLCAwKTsKfCAJICByZXR1cm4gMDsKfCAgICAgICAgfQp8IApj b25maWd1cmU6MTU5OTQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUg IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMg LWx0ZXJtaW5mbyAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29sbGVjdDI6IGZhdGFs IGVycm9yOiBsaWJyYXJ5IGxpYnRlcm1pbmZvIG5vdCBmb3VuZApjb21waWxhdGlvbiB0ZXJtaW5h dGVkLgpjb25maWd1cmU6MTU5OTQ6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdp dGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNL SU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVD S19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEK fCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05T X0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNF XzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8 ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NS RUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZF X1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhU UjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0 ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBI QVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVE IDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEK fCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICAgZXh0ZXJuIHZvaWQgdHB1dHMgKGNvbnN0IGNo YXIgKiwgaW50LCBpbnQgKCopKGludCkpOwp8ICAgICAgICBpbnQgbWFpbiAoaW50IGFyZ2MsIGNo YXIgKiphcmd2KQp8ICAgICAgICB7CnwgCSAgaWYgKGFyZ2MgPT0gMTAwMDApCnwgCSAgICB0cHV0 cyAoYXJndlswXSwgMCwgMCk7CnwgCSAgcmV0dXJuIDA7CnwgICAgICAgIH0KfCAKY29uZmlndXJl OjE1OTk0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sdGVybWNh cCAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29sbGVjdDI6IGZhdGFsIGVycm9yOiBs aWJyYXJ5IGxpYnRlcm1jYXAgbm90IGZvdW5kCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZp Z3VyZToxNTk5NDogJD8gPSAxCmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMg MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93 d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19P VkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUg WE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwg I2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg 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 ZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tf YXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJO TyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgCnwgICBleHRlcm4gdm9pZCB0cHV0cyAoY29uc3QgY2hhciAqLCBpbnQs IGludCAoKikoaW50KSk7CnwgICAgICAgIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CnwgICAgICAgIHsKfCAJICBpZiAoYXJnYyA9PSAxMDAwMCkKfCAJICAgIHRwdXRzIChhcmd2WzBd LCAwLCAwKTsKfCAJICByZXR1cm4gMDsKfCAgICAgICAgfQp8IApjb25maWd1cmU6MTU5OTQ6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMg ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxjdXJzZXMgLWxYMTEgLWxy dHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxNTk5NDogJD8gPSAwCmNvbmZpZ3VyZTox NTk5NDogLi9jb25mdGVzdApjb25maWd1cmU6MTU5OTQ6ICQ/ID0gMApjb25maWd1cmU6MTYwMDk6 IHJlc3VsdDogLWxjdXJzZXMKY29uZmlndXJlOjE2MTM2OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1i YmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1 cmU6MTYxMzY6ICQ/ID0gMApjb25maWd1cmU6MTY4MjU6IGNoZWNraW5nIHZhbGdyaW5kL3ZhbGdy aW5kLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNjgyNTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtYyAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv aW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE1MjozMTogZmF0YWwgZXJyb3I6IHZh bGdyaW5kL3ZhbGdyaW5kLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDx2 YWxncmluZC92YWxncmluZC5oPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb21w aWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTY4MjU6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tf U1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVm aW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVO X0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9E RUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf 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 WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAx CnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8 ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBN QUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVf R0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFL RVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lH TiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5E X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfUkVTX0lOSVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9I CnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3Ry aW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJp bmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3Rk aW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDx2YWxncmluZC92YWxncmluZC5oPgpjb25maWd1cmU6 MTY4MjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2ODI1OiBjaGVja2luZyB2YWxncmluZC92YWxn cmluZC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNjgyNTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtRSAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBj b25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTE5OjMxOiBmYXRhbCBlcnJvcjogdmFsZ3JpbmQvdmFsZ3Jp bmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHZhbGdyaW5kL3ZhbGdy aW5kLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1p bmF0ZWQuCmNvbmZpZ3VyZToxNjgyNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAj ZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMg MQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tf U1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVm 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 ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhS ZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZF X1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tG IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVm aW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5l IEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2Rl ZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNf SU5JVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx2YWxncmluZC92YWxn cmluZC5oPgpjb25maWd1cmU6MTY4MjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2ODI1OiBjaGVj a2luZyBmb3IgdmFsZ3JpbmQvdmFsZ3JpbmQuaApjb25maWd1cmU6MTY4MjU6IHJlc3VsdDogbm8K Y29uZmlndXJlOjE2ODQyOiBjaGVja2luZyBmb3IgdHpzZXQKY29uZmlndXJlOjE2ODQyOiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxp Y29udiAgPiY1IApjb25maWd1cmU6MTY4NDI6ICQ/ID0gMApjb25maWd1cmU6MTY4NDI6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxNjg0MjogY2hlY2tpbmcgZm9yIHJlYWRsaW5rYXQKY29uZmlndXJl OjE2ODQyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1s cnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1i b2w6IC5yZWFkbGlua2F0CmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVp ZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxk IHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE2ODQyOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUt ZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcv c29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NI RUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZF UlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZ UEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ 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 QVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50 ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZp bmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dO IDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9D Rk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09Q WVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VO V0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQ VCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwg I2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgcmVhZGxpbmthdCB0byBhbiBpbm5vY3VvdXMgdmFy aWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHJlYWRsaW5rYXQuCnwgICAgRm9yIGV4 YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwg I2RlZmluZSByZWFkbGlua2F0IGlubm9jdW91c19yZWFkbGlua2F0CnwgCnwgLyogU3lzdGVtIGhl YWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz LAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHJlYWRsaW5rYXQgKCk7IGJlbG93 Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRl ZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5n IGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMu aD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHJl YWRsaW5rYXQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4 dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHJlYWRsaW5rYXQgKCk7CnwgLyogVGhlIEdOVSBDIGxp YnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAg ICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxs eSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBu YW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfcmVhZGxpbmthdCB8fCBk ZWZpbmVkIF9fc3R1Yl9fX3JlYWRsaW5rYXQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8 IG1haW4gKCkKfCB7CnwgcmV0dXJuIHJlYWRsaW5rYXQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToxNjg0MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTY4NDI6IGNoZWNraW5n IGZvciBmYWNjZXNzYXQKY29uZmlndXJlOjE2ODQyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmln dG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcxMS0z MTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5mYWNjZXNzYXQKbGQ6IDA3MTEtMzQ1IFVzZSB0 aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRp b24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6 MTY4NDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdF ICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hF Q0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NI RUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1Qg MQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NP TlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg 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 WFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRp YXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZF X0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVf R0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5l IEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BF RUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNk ZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08g MQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEK fCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9UWlNFVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBmYWNjZXNz YXQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBm YWNjZXNzYXQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVz IGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBmYWNjZXNzYXQgaW5ub2N1b3VzX2ZhY2Nlc3Nh dAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVm dWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBm YWNjZXNzYXQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+ IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2 ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwg IyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2Vu ZGlmCnwgCnwgI3VuZGVmIGZhY2Nlc3NhdAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJu YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50 IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRo ZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVm IF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZmFjY2Vzc2F0ICgpOwp8 IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0 IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0 aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18g YW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHVi X2ZhY2Nlc3NhdCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2ZhY2Nlc3NhdAp8IGNob2tlIG1lCnwgI2Vu ZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZmFjY2Vzc2F0ICgpOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTY4NDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2 ODQyOiBjaGVja2luZyBmb3IgZmNudGwKY29uZmlndXJlOjE2ODQyOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApj b25maWd1cmU6MTY4NDI6ICQ/ID0gMApjb25maWd1cmU6MTY4NDI6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNjg0MjogY2hlY2tpbmcgZm9yIGZkb3BlbmRpcgpjb25maWd1cmU6MTY4NDI6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxYMTEgLWxydHMgLWxJTSAtbGlj b252ICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLmZkb3BlbmRp cgpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBv YnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4 aXQgc3RhdHVzCmNvbmZpZ3VyZToxNjg0MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQu NC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmci CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNz LyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIK fCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllU RVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hF Q0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAj 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 MQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5l IFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBI QVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xP Q0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNB R0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZF X0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBI QVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVm aW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5l IEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9H RVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVm aW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwg I2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9S RVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZmRvcGVuZGlyIHRvIGFuIGlubm9j dW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZmRvcGVuZGlyLgp8ICAg IEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXku ICAqLwp8ICNkZWZpbmUgZmRvcGVuZGlyIGlubm9jdW91c19mZG9wZW5kaXIKfCAKfCAvKiBTeXN0 ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3Rv dHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZmRvcGVuZGlyICgpOyBi ZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBp cyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFu ZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGlt aXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRl ZiBmZG9wZW5kaXIKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGZkb3BlbmRpciAoKTsKfCAvKiBUaGUgR05VIEMg bGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwg ICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVh bGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs IG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9mZG9wZW5kaXIgfHwg ZGVmaW5lZCBfX3N0dWJfX19mZG9wZW5kaXIKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8 IG1haW4gKCkKfCB7CnwgcmV0dXJuIGZkb3BlbmRpciAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjE2ODQyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjg0MjogY2hlY2tpbmcg Zm9yIGZzdGF0YXQKY29uZmlndXJlOjE2ODQyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9j ICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcxMS0zMTcg RVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5mc3RhdGF0CmxkOiAwNzExLTM0NSBVc2UgdGhlIC1i bG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpj b2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE2ODQy OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJo dHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1h Y3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5H IDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19T VFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAj ZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJ U1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj 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 MQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNh bGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRI T1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9D VVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZF X1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEK fCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2Rl ZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVf VFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 IC8qIERlZmluZSBmc3RhdGF0IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1p dHMuaD4gZGVjbGFyZXMgZnN0YXRhdC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1p dHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGZzdGF0YXQgaW5ub2N1 b3VzX2ZzdGF0YXQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9z IGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3 aXRoIGNoYXIgZnN0YXRhdCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxh c3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBl eGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19T VERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQu aD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZnN0YXRhdAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0Mg aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1 c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4g YW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwg I2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZnN0YXRhdCAo KTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGlj aCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBm dW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRo IF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9f c3R1Yl9mc3RhdGF0IHx8IGRlZmluZWQgX19zdHViX19fZnN0YXRhdAp8IGNob2tlIG1lCnwgI2Vu ZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZnN0YXRhdCAoKTsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2ODQyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjg0 MjogY2hlY2tpbmcgZm9yIGZzeW5jCmNvbmZpZ3VyZToxNjg0MjogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1X bCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29u ZmlndXJlOjE2ODQyOiAkPyA9IDAKY29uZmlndXJlOjE2ODQyOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTY4NDI6IGNoZWNraW5nIGZvciBnZXR0aW1lb2ZkYXkKY29uZmlndXJlOjE2ODQyOiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxp Y29udiAgPiY1IApjb25maWd1cmU6MTY4NDI6ICQ/ID0gMApjb25maWd1cmU6MTY4NDI6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxNjg0MjogY2hlY2tpbmcgZm9yIG5hbm90aW1lCmNvbmZpZ3VyZTox Njg0MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAg LU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0 cyAtbElNIC1saWNvbnYgID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9s OiAubmFub3RpbWUKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBv cHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0 dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTY4NDI6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tf U1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVm aW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVO X0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9E RUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf 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 WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAx CnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8 ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBN QUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVf R0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFL RVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lH TiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5E X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZF X0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgbmFub3RpbWUgdG8gYW4g aW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBuYW5vdGltZS4K fCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9m ZGF5LiAgKi8KfCAjZGVmaW5lIG5hbm90aW1lIGlubm9jdW91c19uYW5vdGltZQp8IAp8IC8qIFN5 c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJv dG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBuYW5vdGltZSAoKTsg YmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18g aXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3Rh bmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxp bWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5k ZWYgbmFub3RpbWUKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIG5hbm90aW1lICgpOwp8IC8qIFRoZSBHTlUgQyBs aWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAg ICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs bHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg bmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX25hbm90aW1lIHx8IGRl ZmluZWQgX19zdHViX19fbmFub3RpbWUKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1h aW4gKCkKfCB7CnwgcmV0dXJuIG5hbm90aW1lICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MTY4NDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2ODQyOiBjaGVja2luZyBmb3Ig bHN0YXQKY29uZmlndXJlOjE2ODQyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9p bmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25m dGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTY4NDI6ICQ/ ID0gMApjb25maWd1cmU6MTY4NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjg0MjogY2hlY2tp bmcgZm9yIG1rb3N0ZW1wCmNvbmZpZ3VyZToxNjg0MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJp Z3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKbGQ6IDA3MTEt MzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAubWtvc3RlbXAKbGQ6IDA3MTEtMzQ1IFVzZSB0 aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRp b24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6 MTY4NDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdF ICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hF Q0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NI RUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1Qg MQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NP TlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg 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 WFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRp YXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZF X0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVf R0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5l IEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BF RUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNk ZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08g MQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEK fCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMg MQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBta29zdGVtcCB0byBhbiBpbm5vY3Vv dXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIG1rb3N0ZW1wLgp8ICAgIEZv ciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAq Lwp8ICNkZWZpbmUgbWtvc3RlbXAgaW5ub2N1b3VzX21rb3N0ZW1wCnwgCnwgLyogU3lzdGVtIGhl YWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz LAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIG1rb3N0ZW1wICgpOyBiZWxvdy4K fCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZp bmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBj b21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+ CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBta29z dGVtcAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk IGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1 cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3Rv dHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJu ICJDIgp8ICNlbmRpZgp8IGNoYXIgbWtvc3RlbXAgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l ZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz IGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfbWtvc3RlbXAgfHwgZGVmaW5lZCBf X3N0dWJfX19ta29zdGVtcAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8 IHsKfCByZXR1cm4gbWtvc3RlbXAgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToxNjg0MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTY4NDI6IGNoZWNraW5nIGZvciBwaXBlMgpj b25maWd1cmU6MTY4NDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUg IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMg LWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZp bmVkIHN5bWJvbDogLnBpcGUyCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5v cXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6 IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE2ODQyOiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5v cmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdD X0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAx CnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0Nf T1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUg R0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT 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 RV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBv aW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JB TlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAx CnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAvKiBEZWZpbmUgcGlwZTIgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxp bWl0cy5oPiBkZWNsYXJlcyBwaXBlMi4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1p dHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHBpcGUyIGlubm9jdW91 c19waXBlMgp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5k IGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGgg Y2hhciBwaXBlMiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQu aD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMg ZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18K fCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAj ZW5kaWYKfCAKfCAjdW5kZWYgcGlwZTIKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBt aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBf X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHBpcGUyICgpOwp8IC8qIFRo ZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl bWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBh cmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRo ZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3BpcGUy IHx8IGRlZmluZWQgX19zdHViX19fcGlwZTIKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8 IG1haW4gKCkKfCB7CnwgcmV0dXJuIHBpcGUyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MTY4NDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2ODQyOiBjaGVja2luZyBmb3Ig cHNlbGVjdApjb25maWd1cmU6MTY4NDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNv bmZ0ZXN0LmMgLWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxNjg0Mjog JD8gPSAwCmNvbmZpZ3VyZToxNjg0MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2ODQyOiBjaGVj a2luZyBmb3IgcHRocmVhZF9zaWdtYXNrCmNvbmZpZ3VyZToxNjg0MjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE2ODQyOiBjaGVja2luZyBmb3IgZmNobW9kCmNvbmZpZ3VyZToxNjg0MjogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0cyAtbElNIC1saWNv bnYgID4mNSAKY29uZmlndXJlOjE2ODQyOiAkPyA9IDAKY29uZmlndXJlOjE2ODQyOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTY4NDI6IGNoZWNraW5nIGZvciByZWFkbGluawpjb25maWd1cmU6MTY4 NDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1P MCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxYMTEgLWxydHMg LWxJTSAtbGljb252ICA+JjUgCmNvbmZpZ3VyZToxNjg0MjogJD8gPSAwCmNvbmZpZ3VyZToxNjg0 MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2ODQyOiBjaGVja2luZyBmb3Igc3RydG9pbWF4CmNv bmZpZ3VyZToxNjg0MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAt bFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE2ODQyOiAkPyA9IDAKY29u ZmlndXJlOjE2ODQyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY4NDI6IGNoZWNraW5nIGZvciBz dHJ0b3VtYXgKY29uZmlndXJlOjE2ODQyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTY4NDI6 ICQ/ID0gMApjb25maWd1cmU6MTY4NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjg0MjogY2hl Y2tpbmcgZm9yIHN5bWxpbmsKY29uZmlndXJlOjE2ODQyOiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1i YmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1 cmU6MTY4NDI6ICQ/ID0gMApjb25maWd1cmU6MTY4NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox Njg0MjogY2hlY2tpbmcgZm9yIGxvY2FsdGltZV9yCmNvbmZpZ3VyZToxNjg0MjogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYg ID4mNSAKY29uZmlndXJlOjE2ODQyOiAkPyA9IDAKY29uZmlndXJlOjE2ODQyOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTY4NDI6IGNoZWNraW5nIGZvciBmdXRpbWVzCmNvbmZpZ3VyZToxNjg0Mjog PFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1n MyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0cyAtbElN IC1saWNvbnYgID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAuZnV0 aW1lcwpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0 byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4 IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNjg0MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V IEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3Mg MjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41 MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdf QllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0Nf Q0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sg MQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEK 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 SU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmlu ZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNF X0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRS VVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBI QVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEK fCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAj ZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAx CnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZp bmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFW RV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwg MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM VElNRV9SIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGZ1dGltZXMgdG8g YW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBmdXRpbWVz Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1l b2ZkYXkuICAqLwp8ICNkZWZpbmUgZnV0aW1lcyBpbm5vY3VvdXNfZnV0aW1lcwp8IAp8IC8qIFN5 c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJv dG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBmdXRpbWVzICgpOyBi ZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBp cyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFu ZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGlt aXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRl ZiBmdXRpbWVzCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBl eHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBmdXRpbWVzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFt ZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2Z1dGltZXMgfHwgZGVmaW5l ZCBfX3N0dWJfX19mdXRpbWVzCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgp Cnwgewp8IHJldHVybiBmdXRpbWVzICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MTY4NDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2ODQyOiBjaGVja2luZyBmb3IgZnV0aW1l c2F0CmNvbmZpZ3VyZToxNjg0MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRl c3QuYyAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBV bmRlZmluZWQgc3ltYm9sOiAuZnV0aW1lc2F0CmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1h cCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0 MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE2ODQyOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAj ZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdf T1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5l IFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8 ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9J Tk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUg SEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUg SEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVS T0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAx CnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNk ZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNr X2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJS Tk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5U X0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRP TSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9S RUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf X19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5l IEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBU RVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQg MQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5l IEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFW RV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAvKiBEZWZpbmUgZnV0aW1lc2F0IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxs aW1pdHMuaD4gZGVjbGFyZXMgZnV0aW1lc2F0Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkg PGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZnV0aW1lc2F0 IGlubm9jdW91c19mdXRpbWVzYXQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0 dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBj b25mbGljdCB3aXRoIGNoYXIgZnV0aW1lc2F0ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1p dHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8 bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8 ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1 ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBmdXRpbWVzYXQKfCAKfCAvKiBPdmVy cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBV c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBj aGFyIGZ1dGltZXNhdCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGgg RU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGlu ZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8 ICNpZiBkZWZpbmVkIF9fc3R1Yl9mdXRpbWVzYXQgfHwgZGVmaW5lZCBfX3N0dWJfX19mdXRpbWVz YXQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGZ1 dGltZXNhdCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2ODQyOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToxNjg0MjogY2hlY2tpbmcgZm9yIGZ1dGltZW5zCmNvbmZpZ3VyZTox Njg0MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAg LU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0 cyAtbElNIC1saWNvbnYgID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9s OiAuZnV0aW1lbnMKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBv cHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0 dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTY4NDI6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tf U1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVm aW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVO X0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9E RUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf 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 WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAx CnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8 ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBN QUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVf R0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFL RVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lH TiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5E X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZF X0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9MT0NBTFRJTUVfUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBmdXRp bWVucyB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVz IGZ1dGltZW5zLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJl cyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZnV0aW1lbnMgaW5ub2N1b3VzX2Z1dGltZW5z CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1 bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGZ1 dGltZW5zICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBp ZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVu IG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMg aW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRp Zgp8IAp8ICN1bmRlZiBmdXRpbWVucwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwg cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1p Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9f Y3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZnV0aW1lbnMgKCk7CnwgLyog VGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1w bGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z IGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZnV0 aW1lbnMgfHwgZGVmaW5lZCBfX3N0dWJfX19mdXRpbWVucwp8IGNob2tlIG1lCnwgI2VuZGlmCnwg CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZnV0aW1lbnMgKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToxNjg0MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTY4NDI6IGNo ZWNraW5nIGZvciB1dGltZW5zYXQKY29uZmlndXJlOjE2ODQyOiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVds LC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApsZDog MDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC51dGltZW5zYXQKbGQ6IDA3MTEtMzQ1 IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5m b3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25m aWd1cmU6MTY4NDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQ QUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFC TEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5l IEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVF X0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NI RUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hF 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 VkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUlu c3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZF X1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VU TE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIg MQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9G U0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BF TlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RB VCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B U0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwg I2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSB1dGltZW5zYXQgdG8gYW4gaW5ub2N1b3VzIHZh cmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyB1dGltZW5zYXQuCnwgICAgRm9yIGV4 YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwg I2RlZmluZSB1dGltZW5zYXQgaW5ub2N1b3VzX3V0aW1lbnNhdAp8IAp8IC8qIFN5c3RlbSBoZWFk ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywK fCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciB1dGltZW5zYXQgKCk7IGJlbG93Lgp8 ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmlu ZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNv bXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4K fCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHV0aW1l bnNhdAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk IGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1 cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3Rv dHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJu ICJDIgp8ICNlbmRpZgp8IGNoYXIgdXRpbWVuc2F0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5 IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8g YWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt ZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBp cyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3V0aW1lbnNhdCB8fCBkZWZpbmVk IF9fc3R1Yl9fX3V0aW1lbnNhdAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCByZXR1cm4gdXRpbWVuc2F0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MTY4NDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2ODQyOiBjaGVja2luZyBmb3IgbHV0 aW1lcwpjb25maWd1cmU6MTY4NDI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2lu Y2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0 ZXN0LmMgLWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjog VW5kZWZpbmVkIHN5bWJvbDogLmx1dGltZXMKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFw IG9yIC1ibm9xdWlldCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3Qy OiBlcnJvcjogbGQgcmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTY4NDI6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93 d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19P VkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUg WE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwg I2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg 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 ZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tf YXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJO TyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRF Uk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZF X1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFW RV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRP SU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 IC8qIERlZmluZSBsdXRpbWVzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1p dHMuaD4gZGVjbGFyZXMgbHV0aW1lcy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1p dHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGx1dGltZXMgaW5ub2N1 b3VzX2x1dGltZXMKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9z IGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3 aXRoIGNoYXIgbHV0aW1lcyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxh c3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBl eGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19T VERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQu aD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbHV0aW1lcwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0Mg aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1 c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4g YW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwg I2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgbHV0aW1lcyAo KTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGlj aCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBm dW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRo IF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9f c3R1Yl9sdXRpbWVzIHx8IGRlZmluZWQgX19zdHViX19fbHV0aW1lcwp8IGNob2tlIG1lCnwgI2Vu ZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gbHV0aW1lcyAoKTsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2ODQyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjg0 MjogY2hlY2tpbmcgZm9yIGdldGR0YWJsZXNpemUKY29uZmlndXJlOjE2ODQyOiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAg PiY1IApjb25maWd1cmU6MTY4NDI6ICQ/ID0gMApjb25maWd1cmU6MTY4NDI6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNjg0MjogY2hlY2tpbmcgZm9yIHNlY3VyZV9nZXRlbnYKY29uZmlndXJlOjE2 ODQyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAt TzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRz IC1sSU0gLWxpY29udiAgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6 IC5zZWN1cmVfZ2V0ZW52CmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVp ZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxk IHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjE2ODQyOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUt ZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcv c29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NI RUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZF UlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZ UEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ 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 QVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50 ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZp bmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dO IDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9D Rk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09Q WVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VO V0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQ VCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwg I2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUg SEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5l IEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHNlY3VyZV9nZXRlbnYgdG8gYW4gaW5ub2N1 b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzZWN1cmVfZ2V0ZW52Lgp8 ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2Zk YXkuICAqLwp8ICNkZWZpbmUgc2VjdXJlX2dldGVudiBpbm5vY3VvdXNfc2VjdXJlX2dldGVudgp8 IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxs eSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzZWN1 cmVfZ2V0ZW52ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5o PiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBl dmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8 ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNl bmRpZgp8IAp8ICN1bmRlZiBzZWN1cmVfZ2V0ZW52CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBh bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAj aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzZWN1cmVfZ2V0 ZW52ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z IHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBT b21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5n IHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmlu ZWQgX19zdHViX3NlY3VyZV9nZXRlbnYgfHwgZGVmaW5lZCBfX3N0dWJfX19zZWN1cmVfZ2V0ZW52 CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzZWN1 cmVfZ2V0ZW52ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTY4NDI6IHJl c3VsdDogbm8KY29uZmlndXJlOjE2ODU0OiBjaGVja2luZyB3aGV0aGVyIGxvY2FsdGltZSBjYWNo ZXMgVFoKY29uZmlndXJlOjE2ODg4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9p bmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25m dGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApjb25mdGVzdC5jOjEzNjoxOiB3 YXJuaW5nOiByZXR1cm4gdHlwZSBkZWZhdWx0cyB0byAnaW50JyBbZW5hYmxlZCBieSBkZWZhdWx0 XQogbWFpbigpCiBeCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzox NDA6Mzogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3B1dGVudicg Wy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIGlmIChwdXRlbnYgKFRaX0dNVDAp ICE9IDApCiAgIF4KY29uZnRlc3QuYzoxNDE6NTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24gJ2V4aXQnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQog ICAgIGV4aXQgKDEpOwogICAgIF4KY29uZnRlc3QuYzoxNDE6NTogd2FybmluZzogaW5jb21wYXRp YmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0JyBbZW5h YmxlZCBieSBkZWZhdWx0XQpjb25mdGVzdC5jOjE0MzozOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNs YXJhdGlvbiBvZiBmdW5jdGlvbiAndW5zZXRlbnYnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xh cmF0aW9uXQogICB1bnNldGVudigiVFoiKTsKICAgXgpjb25mdGVzdC5jOjE0Njo1OiB3YXJuaW5n OiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24g J2V4aXQnIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiAgICAgZXhpdCAoMSk7CiAgICAgXgpjb25mdGVz dC5jOjE0ODo1OiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg YnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQnIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiAgICAgZXhpdCAo MSk7CiAgICAgXgpjb25mdGVzdC5jOjE1MTo1OiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGlj aXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQnIFtlbmFibGVkIGJ5IGRl ZmF1bHRdCiAgICAgZXhpdCAoMSk7CiAgICAgXgpjb25mdGVzdC5jOjE1MjozOiB3YXJuaW5nOiBp bmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4 aXQnIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiAgIGV4aXQgKDApOwogICBeCmNvbmZpZ3VyZToxNjg4 ODogJD8gPSAwCmNvbmZpZ3VyZToxNjg4ODogLi9jb25mdGVzdApjb25maWd1cmU6MTY4ODg6ICQ/ ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO VSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1h Y3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNL X1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2Rl ZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJV Tl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhf REVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT 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 X1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0g MQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIK fCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUg TUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B U0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIg MQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1B S0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJ R04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lO RF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAx CnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFW RV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9G REFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHRpbWUuaD4KfCBjaGFyIFRaX0dNVDBbXSA9ICJU Wj1HTVQwIjsKfCBjaGFyIFRaX1BTVDhbXSA9ICJUWj1QU1Q4IjsKfCBtYWluKCkKfCB7CnwgICB0 aW1lX3Qgbm93ID0gdGltZSAoKHRpbWVfdCAqKSAwKTsKfCAgIGludCBob3VyX0dNVDAsIGhvdXJf dW5zZXQ7CnwgICBpZiAocHV0ZW52IChUWl9HTVQwKSAhPSAwKQp8ICAgICBleGl0ICgxKTsKfCAg IGhvdXJfR01UMCA9IGxvY2FsdGltZSAoJm5vdyktPnRtX2hvdXI7CnwgICB1bnNldGVudigiVFoi KTsKfCAgIGhvdXJfdW5zZXQgPSBsb2NhbHRpbWUgKCZub3cpLT50bV9ob3VyOwp8ICAgaWYgKHB1 dGVudiAoVFpfUFNUOCkgIT0gMCkKfCAgICAgZXhpdCAoMSk7CnwgICBpZiAobG9jYWx0aW1lICgm bm93KS0+dG1faG91ciA9PSBob3VyX0dNVDApCnwgICAgIGV4aXQgKDEpOwp8ICAgdW5zZXRlbnYo IlRaIik7CnwgICBpZiAobG9jYWx0aW1lICgmbm93KS0+dG1faG91ciAhPSBob3VyX3Vuc2V0KQp8 ICAgICBleGl0ICgxKTsKfCAgIGV4aXQgKDApOwp8IH0KY29uZmlndXJlOjE2OTAzOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTY5MTI6IGNoZWNraW5nIGZvciBzb2NrZXQKY29uZmlndXJlOjE2OTEy OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAg LWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1s SU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTY5MTI6ICQ/ID0gMApjb25maWd1cmU6MTY5MTI6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjkyMDogY2hlY2tpbmcgbmV0aW5ldC9pbi5oIHVzYWJp bGl0eQpjb25maWd1cmU6MTY5MjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251 OTkgLWMgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjE2OTIwOiAkPyA9IDAKY29uZmlndXJlOjE2OTIwOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTY5MjA6IGNoZWNraW5nIG5ldGluZXQvaW4uaCBwcmVzZW5jZQpj b25maWd1cmU6MTY5MjA6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLUUg ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1 cmU6MTY5MjA6ICQ/ID0gMApjb25maWd1cmU6MTY5MjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NjkyMDogY2hlY2tpbmcgZm9yIG5ldGluZXQvaW4uaApjb25maWd1cmU6MTY5MjA6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNjkzMDogY2hlY2tpbmcgYXJwYS9pbmV0LmggdXNhYmlsaXR5CmNvbmZp Z3VyZToxNjkzMDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAgLU8w IC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6MTY5MzA6ICQ/ID0gMApjb25maWd1cmU6MTY5MzA6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNjkzMDogY2hlY2tpbmcgYXJwYS9pbmV0LmggcHJlc2VuY2UKY29uZmlndXJlOjE2 OTMwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1FICAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE2OTMwOiAk PyA9IDAKY29uZmlndXJlOjE2OTMwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY5MzA6IGNoZWNr aW5nIGZvciBhcnBhL2luZXQuaApjb25maWd1cmU6MTY5MzA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNjk0NTogY2hlY2tpbmcgZm9yIHBpZF90CmNvbmZpZ3VyZToxNjk0NTogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTY5NDU6ICQ/ID0g MApjb25maWd1cmU6MTY5NDU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LWMgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjE3MToy MDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNpemVv ZiAoKHBpZF90KSkpCiAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MTY5NDU6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93 d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19P VkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUg WE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwg I2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg 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 ZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tf YXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJO TyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRF Uk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZF X1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFW RV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRP SU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJ WkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NL RVRTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lm ZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRl IDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMg aWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGlu Y2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYK fCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChwaWRfdCkpKQp8IAkgICAgcmV0dXJu IDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNjk0NTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE2OTU4OiBjaGVja2luZyB2Zm9yay5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTY5 NTg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgIC1PMCAtZzMgICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzoxNjg6MTk6IGZhdGFsIGVycm9yOiB2Zm9yay5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CiAjaW5jbHVkZSA8dmZvcmsuaD4KICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24g dGVybWluYXRlZC4KY29uZmlndXJlOjE2OTU4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy NC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUw Igp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19C WVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19D SEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAx CnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8 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 TSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf TE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8 ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNk ZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxU SU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElN RV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9I CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMK fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj IGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVS UyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVu ZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdT X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBF U19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElO VF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERf SAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHZmb3JrLmg+CmNv bmZpZ3VyZToxNjk1ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTY5NTg6IGNoZWNraW5nIHZmb3Jr LmggcHJlc2VuY2UKY29uZmlndXJlOjE2OTU4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1FICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0 ZXN0LmMKY29uZnRlc3QuYzoxMzU6MTk6IGZhdGFsIGVycm9yOiB2Zm9yay5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8dmZvcmsuaD4KICAgICAgICAgICAgICAgICAgIF4K Y29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjE2OTU4OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUt ZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcv c29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NI RUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZF UlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZ UEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ 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 QVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50 ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZp bmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dO IDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9D Rk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09Q WVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VO V0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQ VCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwg I2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUg SEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5l IEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVm aW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx2Zm9yay5oPgpjb25maWd1cmU6MTY5NTg6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE2OTU4OiBjaGVja2luZyBmb3IgdmZvcmsuaApjb25maWd1 cmU6MTY5NTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2OTcxOiBjaGVja2luZyBmb3IgZm9yawpj b25maWd1cmU6MTY5NzE6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1PMCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUg IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMg LWxYMTEgLWxydHMgLWxJTSAtbGljb252ICA+JjUgCmNvbmZ0ZXN0LmM6MTU4OjY6IHdhcm5pbmc6 IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnZm9yaycgW2VuYWJsZWQg YnkgZGVmYXVsdF0KIGNoYXIgZm9yayAoKTsKICAgICAgXgpjb25maWd1cmU6MTY5NzE6ICQ/ID0g MApjb25maWd1cmU6MTY5NzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjk3MTogY2hlY2tpbmcg Zm9yIHZmb3JrCmNvbmZpZ3VyZToxNjk3MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAg Y29uZnRlc3QuYyAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgID4mNSAKY29uZmlndXJlOjE2OTcx OiAkPyA9IDAKY29uZmlndXJlOjE2OTcxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY5ODE6IGNo ZWNraW5nIGZvciB3b3JraW5nIGZvcmsKY29uZmlndXJlOjE3MDAzOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAgLWczICAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIg LVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1sSU0gLWxpY29udiAgPiY1IApj b25maWd1cmU6MTcwMDM6ICQ/ID0gMApjb25maWd1cmU6MTcwMDM6IC4vY29uZnRlc3QKY29uZmln dXJlOjE3MDAzOiAkPyA9IDAKY29uZmlndXJlOjE3MDEzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTcwMzQ6IGNoZWNraW5nIGZvciB3b3JraW5nIHZmb3JrCmNvbmZpZ3VyZToxNzE0NDogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE3MTcyOiBjaGVja2luZyBmb3Igc25wcmludGYKY29uZmlndXJlOjE3 MTcyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAt TzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRz IC1sSU0gLWxpY29udiAgPiY1IApjb25mdGVzdC5jOjE2Mjo2OiB3YXJuaW5nOiBjb25mbGljdGlu ZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3NucHJpbnRmJyBbZW5hYmxlZCBieSBkZWZh dWx0XQogY2hhciBzbnByaW50ZiAoKTsKICAgICAgXgpjb25maWd1cmU6MTcxNzI6ICQ/ID0gMApj b25maWd1cmU6MTcxNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzE4OTogY2hlY2tpbmcgd2hl dGhlciBHTGliIGlzIGxpbmtlZCBpbgpjb25maWd1cmU6MTcyMDM6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1PMCAtZzMgICAgICAgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv bGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbFgxMSAtbHJ0cyAtbElNIC1saWNvbnYgICAg ICAgPiY1IApjb25mdGVzdC5jOjE0MDoxODogZmF0YWwgZXJyb3I6IGdsaWIuaDogTm8gc3VjaCBm aWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPGdsaWIuaD4KICAgICAgICAgICAgICAgICAgXgpj b21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTcyMDM6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi R05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1l bWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJ T04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hF Q0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAj ZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVS UlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQ SF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ 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 VkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJ TSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRl cgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5l IEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1F UiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAj ZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZp bmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NG TUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZ U0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5X SU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBU IDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAj ZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBI QVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1F T0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZp bmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVm aW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGdsaWIuaD4K fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGdfcHJpbnQgKCJIZWxsbyB3b3JsZCIpOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTcyMTA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE3 MjI0OiBjaGVja2luZyBmb3IgbmxfbGFuZ2luZm8gYW5kIENPREVTRVQKY29uZmlndXJlOjE3MjQw OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtTzAg LWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRzIC1s SU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTcyNDA6ICQ/ID0gMApjb25maWd1cmU6MTcyNDk6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzI1NzogY2hlY2tpbmcgZm9yIG1ic3RhdGVfdApjb25m aWd1cmU6MTcyNzQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgIC1P MCAtZzMgICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjE3Mjc0OiAkPyA9IDAKY29uZmlndXJlOjE3MjgxOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTcyOTM6IGNoZWNraW5nIGZvciBDIHJlc3RyaWN0ZWQgYXJyYXkgZGVjbGFyYXRp b25zCmNvbmZpZ3VyZToxNzMwOTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAgLU8wIC1nMyAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6MTczMDk6ICQ/ID0gMApjb25maWd1cmU6MTczMTY6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxNzc1MDogY2hlY2tpbmcgZm9yIF9zZXRqbXAKY29uZmlndXJlOjE3 NzcyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAt TzAgLWczICAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sWDExIC1scnRz IC1sSU0gLWxpY29udiAgPiY1IApjb25maWd1cmU6MTc3NzI6ICQ/ID0gMApjb25maWd1cmU6MTc3 ODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzg2NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtRSAgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBj b25mdGVzdC5jCmNvbmZpZ3VyZToxNzg2NTogJD8gPSAwCmNvbmZpZ3VyZToxNzk0NDogY2hlY2tp bmcgZm9yIHVzYWJsZSBGSU9OUkVBRApjb25maWd1cmU6MTc5ODQ6IHJlc3VsdDogbm8KY29uZmln dXJlOjE4MzA2OiBjaGVja2luZyBmb3Igd29ya2luZyBhbGxvY2EuaApjb25maWd1cmU6MTgzMjM6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1n MyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApj b25maWd1cmU6MTgzMjM6ICQ/ID0gMApjb25maWd1cmU6MTgzMzE6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxODMzOTogY2hlY2tpbmcgZm9yIGFsbG9jYQpjb25maWd1cmU6MTgzNzY6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6 MTgzNzY6ICQ/ID0gMApjb25maWd1cmU6MTgzODQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODQ5 NzogY2hlY2tpbmcgZm9yIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQKY29uZmlndXJlOjE4NTQ1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTg1NTQ6IGNoZWNraW5nIHdoZXRoZXIgYnl0ZSBvcmRlcmlu ZyBpcyBiaWdlbmRpYW4KY29uZmlndXJlOjE4NTY5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE3Nzo5OiBlcnJvcjogdW5rbm93biB0eXBl IG5hbWUgJ25vdCcKICAgICAgICAgbm90IGEgdW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKICAg ICAgICAgXgpjb25mdGVzdC5jOjE3NzoxNTogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycs ICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ3VuaXZlcnNhbCcKICAgICAgICAgbm90 IGEgdW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKICAgICAgICAgICAgICAgXgpjb25mdGVzdC5j OjE3NzoxNTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1bml2ZXJzYWwnCmNvbmZpZ3VyZTox ODU2OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVD S0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hF Q0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAx CnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09O U19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx 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 VFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlh dGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUg SEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9H RVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUg MQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVm aW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVf RU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdS RU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVF RCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8 ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBI QVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAj ZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwg I2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVf R0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFW RV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJp Y3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VO X0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIv ZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsg YysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9w dGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0 eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5l IEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNH IC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNk ZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVm aW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxF VENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdp dGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRo X1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFj X2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5n PWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwg I2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVm aW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9D IDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZm5kZWYgX19BUFBMRV9DQ19fCnwgCSAgICAg ICBub3QgYSB1bml2ZXJzYWwgY2FwYWJsZSBjb21waWxlcgp8IAkgICAgICNlbmRpZgp8IAkgICAg IHR5cGVkZWYgaW50IGR1bW15Owp8IApjb25maWd1cmU6MTg2MTQ6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODYxNDogJD8gPSAwCmNvbmZp Z3VyZToxODYzMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAg LWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjE4NjMyOiAkPyA9IDAKY29uZmlndXJlOjE4NzYwOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTg5Mjg6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHByZXByb2Nlc3NvciBzdXBwb3J0cyBp bmNsdWRlX25leHQKY29uZmlndXJlOjE4OTY2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZSAtSWNvbmZ0ZXN0ZDFiIC1JY29uZnRlc3RkMiBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTg5 NjY6ICQ/ID0gMApjb25maWd1cmU6MTg5ODc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTAwODog Y2hlY2tpbmcgd2hldGhlciBzeXN0ZW0gaGVhZGVyIGZpbGVzIGxpbWl0IHRoZSBsaW5lIGxlbmd0 aApjb25maWd1cmU6MTkwMzE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE5MDQzOiBjaGVja2luZyB3 aGV0aGVyIHN0cnRvbGQgY29uZm9ybXMgdG8gQzk5CmNvbmZpZ3VyZToxOTA3MDogPFRPT0xTRElS Pi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZTox OTA3MDogJD8gPSAwCmNvbmZpZ3VyZToxOTA3ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5MDkz OiBjaGVja2luZyBpZiBlbnZpcm9uIGlzIHByb3Blcmx5IGRlY2xhcmVkCmNvbmZpZ3VyZToxOTEx NjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu YzoxODQ6Mzk6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2Vudmlyb24nCiAgICAgICAg ICAgIGV4dGVybiBzdHJ1Y3QgeyBpbnQgZm9vOyB9IGVudmlyb247CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6 MTc5OjA6Ci91c3IvaW5jbHVkZS91bmlzdGQuaDo4NzM6MTU6IG5vdGU6IHByZXZpb3VzIGRlY2xh cmF0aW9uIG9mICdlbnZpcm9uJyB3YXMgaGVyZQogZXh0ZXJuIGNoYXIgKiplbnZpcm9uOwogICAg ICAgICAgICAgICBeCmNvbmZpZ3VyZToxOTExNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V IEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3Mg MjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41 MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdf QllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0Nf Q0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sg MQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEK 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 SU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmlu ZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNF X0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRS VVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBI QVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEK fCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAj ZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAx CnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZp bmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFW RV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwg MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM VElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJ TUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9G T1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFU RV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVS U0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hB UiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBE SVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04g aW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBz dHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJ TlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJ QV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJp Z2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJw Yy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFU RURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQg LS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9l eHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFt YV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0g LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmlu ZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gx MSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNk ZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZiBI QVZFX1VOSVNURF9ICnwgICAgICAjaW5jbHVkZSA8dW5pc3RkLmg+CnwgICAgICAjZW5kaWYKfCAg ICAgIC8qIG1pbmd3LCBCZU9TLCBIYWlrdSBkZWNsYXJlIGVudmlyb24gaW4gPHN0ZGxpYi5oPiwg bm90IGluIDx1bmlzdGQuaD4uICAqLwp8ICAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8IAp8ICAg ICAgICAgICAgZXh0ZXJuIHN0cnVjdCB7IGludCBmb287IH0gZW52aXJvbjsKfCBpbnQKfCBtYWlu ICgpCnwgewp8IGVudmlyb24uZm9vID0gMTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjE5MTI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTkxMzk6IGNoZWNraW5nIGZvciBjb21w bGV0ZSBlcnJuby5oCmNvbmZpZ3VyZToxOTIxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5NTM0 OiBjaGVja2luZyBmb3IgbW9kZV90CmNvbmZpZ3VyZToxOTUzNDogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE5NTM0OiAkPyA9IDAKY29uZmln dXJlOjE5NTM0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAt ZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjE1OjIxOiBlcnJvcjog ZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgobW9kZV90 KSkpCiAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjE5NTM0OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5v cmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdD X0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAx CnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0Nf T1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUg R0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT 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 RV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBv aW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JB TlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAx CnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9E IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAj ZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwg I2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUg SEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZp bmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8 ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNk ZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwg I2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVT RVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAj ZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9j XykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElT X0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05B TUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUg UFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlf TkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZ X1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVm aW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEK fCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09Q WVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Igp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdV UkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09Q VElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRl ZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgt dG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19j dl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRl bnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1n MycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFH Uz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5E T1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAj ZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FM TE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJ R0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5W SVJPTl9ERUNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+ CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+Cnwg I2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBp bmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGlu Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdf SAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8 ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAj ZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChtb2RlX3QpKSkKfCAJICAg IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTk1MzQ6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxOTU0NTogY2hlY2tpbmcgd2hldGhlciBmZGF0YXN5bmMgaXMgZGVj bGFyZWQKY29uZmlndXJlOjE5NTQ1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6MTk1NDU6ICQ/ID0gMApjb25maWd1cmU6MTk1NDU6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxOTU1ODogY2hlY2tpbmcgZm9yIHN0X2RtX21vZGUgaW4gc3RydWN0 IHN0YXQKY29uZmlndXJlOjE5NTc2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdu dTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTg2 OjE3OiBlcnJvcjogJ3N0cnVjdCBzdGF0NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2RtX21v ZGUnCiBzdHJ1Y3Qgc3RhdCBzOyBzLnN0X2RtX21vZGU7CiAgICAgICAgICAgICAgICAgXgpjb25m aWd1cmU6MTk1NzY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQ QUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFC TEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5l IEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVF X0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NI RUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hF 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 VkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUlu c3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZF X1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VU TE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIg MQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9G U0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BF TlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RB VCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B U0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwg I2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmlu ZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVm aW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBI QVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf TEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBf X3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RF VklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAw OyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg Ii9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwg I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVm aW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0u aCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAi CnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29u ZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1h bGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNf Y3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJf aD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1j aGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9s aWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAx CnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05V X01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NU UlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZEQVRBU1lOQyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IHN0 cnVjdCBzdGF0IHM7IHMuc3RfZG1fbW9kZTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjE5NTgzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTU5MzogY2hlY2tpbmcgd2hldGhlciBz dHJtb2RlIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToxOTU5MzogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpj b25mdGVzdC5jOjIyMDoxMDogZXJyb3I6ICdzdHJtb2RlJyB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICAgKHZvaWQpIHN0cm1vZGU7CiAgICAgICAgICBeCmNvbmZ0ZXN0 LmM6MjIwOjEwOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBv bmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6MTk1OTM6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0 dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcg MQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NU UklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNk ZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElT VCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk 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 CnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2Fs bGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVf SF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhP U1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NV UlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8 ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUg SEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNk ZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVm aW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9U WlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZF X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERU QUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5F VF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9S SyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2Fy ciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0Ug Ii9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMg MQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RP UllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJ UkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FO WV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRf Q1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9k c3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykK fCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7 CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1l IChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19T RVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiov CnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBF TUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0t ZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElS PiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhm dD1ubyAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0df Q09ORklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9o ZWFkZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwg J0NGTEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2lu Y2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZp bmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBV U0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwg I2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNk ZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBI QVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3Rk ZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFk ZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRl IDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIHN0cm1vZGUKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAg ICh2b2lkKSBzdHJtb2RlOwp8ICNlbHNlCnwgICAodm9pZCkgc3RybW9kZTsKfCAjZW5kaWYKfCAj ZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5NTkzOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxOTY0MjogY2hlY2tpbmcgd2hldGhlciBsc3RhdCBjb3JyZWN0bHkgaGFu ZGxlcyB0cmFpbGluZyBzbGFzaApjb25maWd1cmU6MTk2NzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1i YmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MTk2NzU6ICQ/ID0g MApjb25maWd1cmU6MTk2NzU6IC4vY29uZnRlc3QKY29uZmlndXJlOjE5Njc1OiAkPyA9IDEKY29u ZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V IEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3Mg MjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41 MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdf QllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0Nf Q0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sg MQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEK 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 SU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmlu ZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNF X0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRS VVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBI QVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEK fCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAj ZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAx CnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZp bmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFW RV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwg MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM VElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJ TUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9G T1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFU RV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVS U0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hB UiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBE SVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04g aW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBz dHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJ TlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJ QV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJp Z2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJw Yy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFU RURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQg LS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9l eHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFt YV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0g LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmlu ZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gx MSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNk ZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RF IDAKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVm IEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxz dGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1 ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBp bnQKfCBtYWluICgpCnwgewp8IHN0cnVjdCBzdGF0IHNidWY7CnwgICAgICAgICAgICAgICAvKiBM aW51eCB3aWxsIGRlcmVmZXJlbmNlIHRoZSBzeW1saW5rIGFuZCBmYWlsLCBhcyByZXF1aXJlZCBi eQp8ICAgICAgICAgICAgICAgICAgUE9TSVguICBUaGF0IGlzIGJldHRlciBpbiB0aGUgc2Vuc2Ug dGhhdCBpdCBtZWFucyB3ZSB3aWxsIG5vdAp8ICAgICAgICAgICAgICAgICAgaGF2ZSB0byBjb21w aWxlIGFuZCB1c2UgdGhlIGxzdGF0IHdyYXBwZXIuICAqLwp8ICAgICAgICAgICAgICAgcmV0dXJu IGxzdGF0ICgiY29uZnRlc3Quc3ltLyIsICZzYnVmKSA9PSAwOwp8IAp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6MTk2OTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE5ODgyOiBjaGVj a2luZyBmb3IgZ2V0b3B0LmgKY29uZmlndXJlOjE5ODgyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToy MDQwOTogY2hlY2tpbmcgd2hldGhlciBnZXRlbnYgaXMgZGVjbGFyZWQKY29uZmlndXJlOjIwNDA5 OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 MjA0MDk6ICQ/ID0gMApjb25maWd1cmU6MjA0MDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDQy NTogY2hlY2tpbmcgZm9yIEMvQysrIHJlc3RyaWN0IGtleXdvcmQKY29uZmlndXJlOjIwNDUwOiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjA0 NTA6ICQ/ID0gMApjb25maWd1cmU6MjA0NTg6IHJlc3VsdDogX19yZXN0cmljdApjb25maWd1cmU6 MjA1OTU6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdGltZXZhbApjb25maWd1cmU6MjA2MTg6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMDYxODog JD8gPSAwCmNvbmZpZ3VyZToyMDYyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwNjMxOiBjaGVj a2luZyBmb3Igd2lkZS1lbm91Z2ggc3RydWN0IHRpbWV2YWwudHZfc2VjIG1lbWJlcgpjb25maWd1 cmU6MjA2NTg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1n MyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToyMDY1ODogJD8gPSAwCmNvbmZpZ3VyZToyMDY2NjogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjIwNjgwOiBjaGVja2luZyBmb3IgbG9uZyBsb25nIGludApjb25maWd1cmU6MjA3MzA6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToyMDc1MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoxODY6MTA6IGVycm9yOiB1bmtub3duIHR5cGUgbmFt ZSAnbm90JwogICAgICAgICAgbm90IGEgdW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKICAgICAg ICAgIF4KY29uZnRlc3QuYzoxODY6MTY6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAn YXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICd1bml2ZXJzYWwnCiAgICAgICAgICBub3Qg YSB1bml2ZXJzYWwgY2FwYWJsZSBjb21waWxlcgogICAgICAgICAgICAgICAgXgpjb25mdGVzdC5j OjE4NjoxNjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1bml2ZXJzYWwnCmNvbmZpZ3VyZToy MDc1MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVD S0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hF Q0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAx CnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09O U19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx 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 VFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlh dGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUg SEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9H RVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUg MQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVm aW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVf RU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdS RU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVF RCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8 ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBI QVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAj ZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwg I2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVf R0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFW RV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJp Y3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VO X0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIv ZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsg YysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9w dGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0 eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5l IEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNH IC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNk ZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVm aW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxF VENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdp dGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRo X1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFj X2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5n PWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwg I2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVm aW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9D IDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAx CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFT WU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BS RUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0 IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpZm5kZWYgX19BUFBMRV9DQ19fCnwgICAgICAgICAgbm90IGEgdW5pdmVy c2FsIGNhcGFibGUgY29tcGlsZXIKfCAgICAgICAgICNlbmRpZgp8ICAgICAgICAgdHlwZWRlZiBp bnQgZHVtbXk7CnwgCmNvbmZpZ3VyZToyMDkwOTogY2hlY2tpbmcgd2hldGhlciBzdGRpbnQuaCBj b25mb3JtcyB0byBDOTkKY29uZmlndXJlOjIxMDc4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjEwNzg6ICQ/ID0gMApjb25maWd1cmU6MjEx NTg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8w IC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1 IApjb25maWd1cmU6MjExNTg6ICQ/ID0gMApjb25maWd1cmU6MjExNTg6IC4vY29uZnRlc3QKY29u ZmlndXJlOjIxMTU4OiAkPyA9IDAKY29uZmlndXJlOjIxMTcwOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MjE3NDM6IGNoZWNraW5nIHdoZXRoZXIgbWVtcmNociBpcyBkZWNsYXJlZApjb25maWd1cmU6 MjE3NDM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMjU6MTA6IGVycm9yOiAnbWVt cmNocicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICh2b2lkKSBt ZW1yY2hyOwogICAgICAgICAgXgpjb25mdGVzdC5jOjIyNToxMDogbm90ZTogZWFjaCB1bmRlY2xh cmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0 IGFwcGVhcnMgaW4KY29uZmlndXJlOjIxNzQzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy NC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUw Igp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19C WVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19D SEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAx CnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8 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 TSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf TE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8 ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNk ZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxU SU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElN RV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRF X1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJT QU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NL RVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFS ICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3 LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklD RV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJ UkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAg KF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUg REVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBp bnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0 cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklO VEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklB X0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf X1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmln aHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVS TV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBj LWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4 PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRF RElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAt LWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4 dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1h X2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5l IFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDEx IDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+Cnwg I2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNs dWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1 ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8 ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMg IGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5k aWYKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZm5kZWYgbWVtcmNocgp8ICNpZmRlZiBfX2NwbHVz cGx1cwp8ICAgKHZvaWQpIG1lbXJjaHI7CnwgI2Vsc2UKfCAgICh2b2lkKSBtZW1yY2hyOwp8ICNl bmRpZgp8ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjE3NDM6 IHJlc3VsdDogbm8KY29uZmlndXJlOjIxNzc1OiBjaGVja2luZyB3aGV0aGVyIGFsYXJtIGlzIGRl Y2xhcmVkCmNvbmZpZ3VyZToyMTc3NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjIxNzc1OiAkPyA9IDAKY29uZmlndXJlOjIxNzc1OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MjE4MDA6IGNoZWNraW5nIHdoZXRoZXIgPHN5cy9zZWxlY3QuaD4g aXMgc2VsZi1jb250YWluZWQKY29uZmlndXJlOjIxODE3OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv aW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjE4MTc6ICQ/ID0gMApjb25maWd1cmU6 MjE4MzY6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZToyMTgzNjogJD8gPSAwCmNvbmZpZ3VyZToyMTg2NjogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJi aWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5k ZWZpbmVkIHN5bWJvbDogLm5vbmV4aXN0ZW50X21lbXNldApsZDogMDcxMS0zNDUgVXNlIHRoZSAt YmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4K Y29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToyMTg2 NjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lO RyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tf U1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwg I2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19M SVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg 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 IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVD YWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFW RV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VU SE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRf Q1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFW RV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAx CnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNk ZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZF X1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwg I2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVm aW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhB VkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VU RFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9J TkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19G T1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3Rf YXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUg SEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklD RSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3Nl cyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVD VE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNf RElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNf QU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2 L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysr KQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMi KTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5h bWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdD X1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8q Ki8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEg LS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENE SVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgt eGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BL R19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2 X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFs bCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv aW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2Rl ZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5l IFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEK fCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwg I2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5D IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJ WCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgp8IGludAp8IG1haW4gKCkKfCB7Cnwg CnwgICAgICAgICAgICAgICAgICAgI3VuZGVmIG1lbXNldAp8ICAgICAgICAgICAgICAgICAgICNk ZWZpbmUgbWVtc2V0IG5vbmV4aXN0ZW50X21lbXNldAp8ICAgICAgICAgICAgICAgICAgIGV4dGVy bgp8ICAgICAgICAgICAgICAgICAgICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgICAgICAgICAgICAg ICAgICJDIgp8ICAgICAgICAgICAgICAgICAgICNlbmRpZgp8ICAgICAgICAgICAgICAgICAgIHZv aWQgKm1lbXNldCAodm9pZCAqLCBpbnQsIHVuc2lnbmVkIGxvbmcpOwp8ICAgICAgICAgICAgICAg ICAgICN1bmRlZiBiemVybwp8ICAgICAgICAgICAgICAgICAgICNkZWZpbmUgYnplcm8gbm9uZXhp c3RlbnRfYnplcm8KfCAgICAgICAgICAgICAgICAgICBleHRlcm4KfCAgICAgICAgICAgICAgICAg ICAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICAgICAgICAgICAgICAgICAiQyIKfCAgICAgICAgICAg ICAgICAgICAjZW5kaWYKfCAgICAgICAgICAgICAgICAgICB2b2lkIGJ6ZXJvICh2b2lkICosIHVu c2lnbmVkIGxvbmcpOwp8ICAgICAgICAgICAgICAgICAgIGZkX3NldCBmZHM7CnwgICAgICAgICAg ICAgICAgICAgRkRfWkVSTyAoJmZkcyk7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CnwgCmNv bmZpZ3VyZToyMTg3OTogcmVzdWx0OiBubwpjb25maWd1cmU6MjIwMjQ6IGNoZWNraW5nIGZvciBz aWdzZXRfdApjb25maWd1cmU6MjIwMjQ6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9 Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMjAyNDogJD8gPSAwCmNvbmZpZ3VyZToyMjAyNDogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4g ZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjE5NjoyMzogZXJyb3I6IGV4cGVjdGVkIGV4cHJl c3Npb24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNpemVvZiAoKHNpZ3NldF90KSkpCiAgICAgICAg ICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjIwMjQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVt YWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0Bn bnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RS SU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5l IEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NI RUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJV RyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx 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 UjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwg I2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNk ZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlM X1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZp bmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwg I2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFW RV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VU R1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJB VyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAx CnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5l IEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZD TlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkg MQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZp bmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBI QVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9M T0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9D QUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhB VkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19W Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJ TlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01C U1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBB TVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZF X1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNF UENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05B TUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNf REVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykg PT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZ X1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2Rl ZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFU SU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklO VEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVf U1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFM U19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUg SEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNv cHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmlu ZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBv d2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1w cmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9l bWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FM U1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10b29sa2l0PWx1 Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2X2hlYWRlcl9Y MTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWGlu ZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWczJyAnQ1BQRkxB R1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNk ZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFW RV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEK fCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0FMQVJNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgICAgICAgI2luY2x1 ZGUgPHNpZ25hbC5oPgp8ICAgICAgIC8qIE1pbmd3IGRlZmluZXMgc2lnc2V0X3Qgbm90IGluIDxz aWduYWwuaD4sIGJ1dCBpbiA8c3lzL3R5cGVzLmg+LiAgKi8KfCAgICAgICAjaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoc2lnc2V0 X3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MjIwMjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjA2NzogY2hlY2tpbmcgZm9yIHdjaGFyX3QK Y29uZmlndXJlOjIyMDg0OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1j IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MjIwODQ6ICQ/ID0gMApjb25maWd1cmU6MjIwOTE6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyMjIwMjogY2hlY2tpbmcgd2hldGhlciBzdHJ1Y3QgdG0gaXMgaW4gc3lzL3Rp bWUuaCBvciB0aW1lLmgKY29uZmlndXJlOjIyMjIyOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjIyMjI6ICQ/ID0gMApjb25maWd1cmU6MjIy Mjk6IHJlc3VsdDogdGltZS5oCmNvbmZpZ3VyZToyMjIzNzogY2hlY2tpbmcgZm9yIHN0cnVjdCB0 bS50bV96b25lCmNvbmZpZ3VyZToyMjIzNzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5j OjE5NzoxMjogZXJyb3I6ICdzdHJ1Y3QgdG0nIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3RtX3pvbmUn CiBpZiAoYWNfYWdnci50bV96b25lKQogICAgICAgICAgICBeCmNvbmZpZ3VyZToyMjIzNzogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDov L3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5H X09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmlu ZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEK fCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu 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 ZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFj a19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VS Uk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5E T00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVf UkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf U1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2Rl ZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZF X19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmlu ZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUg VEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VU IDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhB VkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBI QVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxF U0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NP Q0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNk ZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEK fCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VU IDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9f cmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9Q VFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rl di9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwg I2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9T RVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNU T1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NF UChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJS RU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIK fCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNk ZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAj ZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZk KSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpN UF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAj ZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVj LXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0t bG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5v IC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05G SUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRl cl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZM QUdTPS1PMCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBI QVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9M VUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVm aW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmlu ZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxf CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVN UkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRf VCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCAKfCBpbnQKfCBt YWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgdG0gYWNfYWdncjsKfCBpZiAoYWNfYWdnci50bV96 b25lKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjIyMzc6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxOTc6MTk6IGVycm9yOiAnc3RydWN0IHRt JyBoYXMgbm8gbWVtYmVyIG5hbWVkICd0bV96b25lJwogaWYgKHNpemVvZiBhY19hZ2dyLnRtX3pv bmUpCiAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyMjIzNzogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3Jn L3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19D SEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09W RVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdM WVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U 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 WElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2lu dGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVm aW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAx CnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZp bmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9X TiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf Q0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NP UFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJ TUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2Rl ZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVm aW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNk ZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VS X0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2Rl ZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18p ICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19E SVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBU WV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05B TUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9U VFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmlu ZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwg I2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlS SUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIK fCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJB VElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJ T05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRp cj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRv b2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3Zf aGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5z aW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMn ICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9 IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9X UyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2Rl ZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExP QyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdF TkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklS T05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBI QVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5l IEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX1QgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHN0YXRpYyBzdHJ1Y3QgdG0gYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3IudG1fem9uZSkK fCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyMjM3OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToyMjI1NTogY2hlY2tpbmcgd2hldGhlciB0em5hbWUgaXMgZGVjbGFy ZWQKY29uZmlndXJlOjIyMjU1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5 IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6MjIyNTU6ICQ/ID0gMApjb25maWd1cmU6MjIyNTU6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyMjI2NzogY2hlY2tpbmcgZm9yIHR6bmFtZQpjb25maWd1cmU6MjIyODc6 IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1n MyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApj b25maWd1cmU6MjIyODc6ICQ/ID0gMApjb25maWd1cmU6MjIyOTU6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyMjMwNTogY2hlY2tpbmcgZm9yIHN0cnVjdCB0bS50bV9nbXRvZmYKY29uZmlndXJlOjIy MzA1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTk3OjEyOiBlcnJvcjogJ3N0cnVj dCB0bScgaGFzIG5vIG1lbWJlciBuYW1lZCAndG1fZ210b2ZmJwogaWYgKGFjX2FnZ3IudG1fZ210 b2ZmKQogICAgICAgICAgICBeCmNvbmZpZ3VyZToyMjMwNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg RW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNz QGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3 YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19T VFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZp bmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5f Q0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RF QlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJH RV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05B TUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwg I2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09V UkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVm aW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9Y MTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEK fCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwg I2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1B SUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwg I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEK fCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9H RVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtF UkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdO IDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8 ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZp bmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVf RkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRB WSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBM T0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf TUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5l IEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhB VkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUg U0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExf TkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJ U19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2Nf KSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RP UllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVS QVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BS SU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFN RV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdO QUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmlu ZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAi Q29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVm aW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAi cG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIt LXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9D QUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9 bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVy X1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19Y aW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBG TEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwg I2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBI QVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5l IEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4g MQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVD TCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx0aW1lLmg+CnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHRtIGFjX2FnZ3I7CnwgaWYgKGFjX2Fn Z3IudG1fZ210b2ZmKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MjIzMDU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1n MyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxOTc6MTk6IGVycm9yOiAn c3RydWN0IHRtJyBoYXMgbm8gbWVtYmVyIG5hbWVkICd0bV9nbXRvZmYnCiBpZiAoc2l6ZW9mIGFj X2FnZ3IudG1fZ210b2ZmKQogICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjIzMDU6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6 Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklO R19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZp bmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAx CnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp 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 I2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJh Y2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9F UlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1RO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNk ZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFW RV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZp bmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5l IFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNF VCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJM RVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9T T0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNF VCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBf X3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVf UFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9k ZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8 ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllf U0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVD VE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9T RVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAj ZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7Cnwg I2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChm ZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRK TVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwg I2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFD U19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhl Yy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAt LWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1u byAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09O RklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFk ZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NG TEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUg SEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0Vf TFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2Rl ZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZp bmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBs Xwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01F TVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VU X1QgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8dGltZS5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCB0bSBh Y19hZ2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci50bV9nbXRvZmYpCnwgcmV0dXJuIDA7CnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMjMwNTogcmVzdWx0OiBubwpjb25maWd1cmU6 MjIzOTM6IGNoZWNraW5nIHdoZXRoZXIgc3RydG9pbWF4IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToy MjM5MzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjIyMzkzOiAkPyA9IDAKY29uZmlndXJlOjIyMzkzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MjI0MDY6IGNoZWNraW5nIHdoZXRoZXIgc3RydG91bWF4IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToy MjQwNjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjIyNDA2OiAkPyA9IDAKY29uZmlndXJlOjIyNDA2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MjI0MTk6IGNoZWNraW5nIHdoZXRoZXIgc3RhdCBmaWxlLW1vZGUgbWFjcm9zIGFyZSBicm9rZW4K Y29uZmlndXJlOjIyNDQ2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1j IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MjI0NDY6ICQ/ID0gMApjb25maWd1cmU6MjI0NTM6IHJlc3VsdDogbm8K Y29uZmlndXJlOjIyNTUzOiBjaGVja2luZyBmb3Igc3RydWN0IHRpbWVzcGVjIGluIDx0aW1lLmg+ CmNvbmZpZ3VyZToyMjU3MDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt YyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjIyNTcwOiAkPyA9IDAKY29uZmlndXJlOjIyNTc3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MjI3Mjg6IGNoZWNraW5nIHdoZXRoZXIgdW5zZXRlbnYgaXMgZGVjbGFyZWQK Y29uZmlndXJlOjIyNzI4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1j IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MjI3Mjg6ICQ/ID0gMApjb25maWd1cmU6MjI3Mjg6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyMjc0MDogY2hlY2tpbmcgd2hldGhlciB0aGUgdXRpbWVzIGZ1bmN0aW9uIHdv cmtzCmNvbmZpZ3VyZToyMjg1NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0 LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMjg1NTogJD8gPSAwCmNvbmZpZ3VyZToyMjg1 NTogLi9jb25mdGVzdApjb25maWd1cmU6MjI4NTU6ICQ/ID0gMApjb25maWd1cmU6MjI4NjU6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToyMjg3ODogY2hlY2tpbmcgZm9yIHN0cnVjdCB1dGltYnVmCmNv bmZpZ3VyZToyMjkwMTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAt TzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjIyOTAxOiAkPyA9IDAKY29uZmlndXJlOjIyOTA4OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjI5Mjc6IGNoZWNraW5nIHR5cGUgb2YgYXJyYXkgYXJndW1lbnQgdG8gZ2V0Z3Jv dXBzCmNvbmZpZ3VyZToyMjk2MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0 LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMjk2MTogJD8gPSAwCmNvbmZpZ3VyZToyMjk2 MTogLi9jb25mdGVzdApjb25maWd1cmU6MjI5NjE6ICQ/ID0gMApjb25maWd1cmU6MjI5ODY6IHJl c3VsdDogZ2lkX3QKY29uZmlndXJlOjIzMDI5OiBjaGVja2luZyBmb3IgYWxsb2NhIGFzIGEgY29t cGlsZXIgYnVpbHQtaW4KY29uZmlndXJlOjIzMDUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjMw Nzk6IGNoZWNraW5nIGJ5dGVzd2FwLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyMzA3OTogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyMzE6MjI6 IGZhdGFsIGVycm9yOiBieXRlc3dhcC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5j bHVkZSA8Ynl0ZXN3YXAuaD4KICAgICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVy bWluYXRlZC4KY29uZmlndXJlOjIzMDc5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40 LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3Mv Igp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8 ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRF UyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVD S19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwg I2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNk 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 CnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUg WFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhB VkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9D S0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FH RSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVf TFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8 ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhB VkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNk ZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZp bmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAj ZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JF U19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwg I2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVm aW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJU T1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1F X1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9D QUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksg MQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8 ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwg I2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1Qg MQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5E X0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRT IDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6 Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5w d19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9T RVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVD VE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9j XykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVG QVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQg YzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNw eSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYg c3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NI QVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQg KEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9I RUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWli bS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQu My45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElS PiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRp c2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVu c2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1hX2g9 bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVT RV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEK fCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJ R05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmlu ZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8 ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYg MQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9B TEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdS T1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBp bmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwg IyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAj IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlm ZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAm JiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlm CnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gK fCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19I CnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9I CnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8 ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPGJ5dGVzd2FwLmg+CmNv bmZpZ3VyZToyMzA3OTogcmVzdWx0OiBubwpjb25maWd1cmU6MjMwNzk6IGNoZWNraW5nIGJ5dGVz d2FwLmggcHJlc2VuY2UKY29uZmlndXJlOjIzMDc5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1FICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29u ZnRlc3QuYwpjb25mdGVzdC5jOjE5ODoyMjogZmF0YWwgZXJyb3I6IGJ5dGVzd2FwLmg6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxieXRlc3dhcC5oPgogICAgICAgICAgICAg ICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MjMwNzk6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93 d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19P VkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUg WE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwg I2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg 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 ZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tf YXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJO TyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRF Uk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZF X1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFW RV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRP SU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJ WkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NL RVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAx CnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jl c3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZ UyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYv bnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNk ZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQ ICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9S WV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAo X2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVm aW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2Rl ZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkp Owp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBf V09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19D T05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1w cmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxv Y2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAt LXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklH PW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJf WDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFH Uz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUn ICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFW RV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVD SUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmlu ZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg V09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUg SEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8 ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJD SFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1Qg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVO ViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGJ5dGVzd2FwLmg+CmNv bmZpZ3VyZToyMzA3OTogcmVzdWx0OiBubwpjb25maWd1cmU6MjMwNzk6IGNoZWNraW5nIGZvciBi eXRlc3dhcC5oCmNvbmZpZ3VyZToyMzA3OTogcmVzdWx0OiBubwpjb25maWd1cmU6MjMxMTg6IGNo ZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgY2xvY2tfZ2V0dGltZQpjb25maWd1cmU6MjMx NDk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8w IC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1 IApjb25maWd1cmU6MjMxNDk6ICQ/ID0gMApjb25maWd1cmU6MjMxNjY6IHJlc3VsdDogbm9uZSBy ZXF1aXJlZApjb25maWd1cmU6MjMxNzg6IGNoZWNraW5nIGZvciBjbG9ja19nZXR0aW1lCmNvbmZp Z3VyZToyMzE3ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhy ZWFkICA+JjUgCmNvbmZpZ3VyZToyMzE3ODogJD8gPSAwCmNvbmZpZ3VyZToyMzE3ODogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjIzMTc4OiBjaGVja2luZyBmb3IgY2xvY2tfc2V0dGltZQpjb25maWd1 cmU6MjMxNzg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVh ZCAgPiY1IApjb25maWd1cmU6MjMxNzg6ICQ/ID0gMApjb25maWd1cmU6MjMxNzg6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyMzMyNTogY2hlY2tpbmcgd2hldGhlciBkdXAyIHdvcmtzCmNvbmZpZ3Vy ZToyMzM4NDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVz dCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFk ICA+JjUgCmNvbmZpZ3VyZToyMzM4NDogJD8gPSAwCmNvbmZpZ3VyZToyMzM4NDogLi9jb25mdGVz dApjb25maWd1cmU6MjMzODQ6ICQ/ID0gMApjb25maWd1cmU6MjMzOTU6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyMzU3MjogY2hlY2tpbmcgZm9yIGFjY2Vzcwpjb25maWd1cmU6MjM1NzI6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1 cmU6MjM1NzI6ICQ/ID0gMApjb25maWd1cmU6MjM1NzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy MzYxNzogY2hlY2tpbmcgd2hldGhlciBmY250bCBoYW5kbGVzIEZfRFVQRkQgY29ycmVjdGx5CmNv bmZpZ3VyZToyMzY0NzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxw dGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMzY0NzogJD8gPSAwCmNvbmZpZ3VyZToyMzY0NzogLi9j b25mdGVzdApjb25maWd1cmU6MjM2NDc6ICQ/ID0gMApjb25maWd1cmU6MjM2NTc6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyMzY3NTogY2hlY2tpbmcgd2hldGhlciBmY250bCB1bmRlcnN0YW5kcyBG X0RVUEZEX0NMT0VYRUMKY29uZmlndXJlOjIzNjk2OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2dj YyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjIwNzoxOiBlcnJvcjogdW5rbm93biB0eXBl IG5hbWUgJ2Nob2tlJwogY2hva2UgbWUKIF4KY29uZnRlc3QuYzoyMTA6MTogZXJyb3I6IGV4cGVj dGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcK IGludAogXgpjb25maWd1cmU6MjM2OTY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8i CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwg I2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVT IDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNL X1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAj ZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2Rl 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 fCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBY UmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFW RV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NL RiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdF IDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9M UkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dB SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2Rl ZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmlu ZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVT X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRP VU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVf UiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NB Q0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAx CnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRf RlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMg MQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzon CnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3 X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NF UChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNU T1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2Nf KSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZB VUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBj OyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5 IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBz dHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hB UkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VU Sk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAo QykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hF QURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJt LWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+ IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlz YWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5z aW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1u byAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNF X1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8 ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lH TkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5l IEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwg I2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAx CnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FM QVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFY IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JP VVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tf R0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElC X0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NF U1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8IAp8ICNpbmNsdWRlIDxmY250bC5oPgp8ICNpZm5kZWYgRl9EVVBGRF9DTE9FWEVDCnwgY2hv a2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6MjM3MjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjIzODcwOiBjaGVj a2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGZkYXRhc3luYwpjb25maWd1cmU6MjM5MDE6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAg ICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25m aWd1cmU6MjM5MDE6ICQ/ID0gMApjb25maWd1cmU6MjM5MTg6IHJlc3VsdDogbm9uZSByZXF1aXJl ZApjb25maWd1cmU6MjM5NTg6IGNoZWNraW5nIHdoZXRoZXIgZmRvcGVuZGlyIGlzIGRlY2xhcmVk CmNvbmZpZ3VyZToyMzk1ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt YyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIxNToxMDog ZXJyb3I6ICdmZG9wZW5kaXInIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogICAodm9pZCkgZmRvcGVuZGlyOwogICAgICAgICAgXgpjb25mdGVzdC5jOjIxNToxMDogbm90 ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBl YWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjIzOTU4OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5v cmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdD X0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAx CnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0Nf T1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUg R0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT 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 RV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBv aW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JB TlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAx CnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9E IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAj ZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwg I2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUg SEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZp bmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8 ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNk ZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwg I2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVT RVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAj ZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9j XykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElT X0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05B TUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUg UFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlf TkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZ X1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVm aW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEK fCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09Q WVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Igp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdV UkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09Q VElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRl ZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgt dG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19j dl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRl bnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1n MycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFH Uz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5E T1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAj ZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FM TE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJ R0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5W SVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5l IEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5l IEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNk ZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVG IDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwg I2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1F IDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEK fCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8ZGlyZW50Lmg+CnwgCnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIGZkb3BlbmRpcgp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 ICAgKHZvaWQpIGZkb3BlbmRpcjsKfCAjZWxzZQp8ICAgKHZvaWQpIGZkb3BlbmRpcjsKfCAjZW5k aWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIzOTU4OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNDA4NDogY2hlY2tpbmcgZm9yIF9fZnBlbmRpbmcKY29uZmln dXJlOjI0MTAxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJl YWQgID4mNSAKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIxNTox OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnX19mcGVuZGluZycg Wy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiByZXR1cm4gISBfX2ZwZW5kaW5nIChz dGRpbik7CiBeCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLl9fZnBlbmRp bmcKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8g b2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBl eGl0IHN0YXR1cwpjb25maWd1cmU6MjQxMDE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBF bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0 LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFj cy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAi CnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZ VEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NI RUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEK fCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwg 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 IDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmlu ZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUg SEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9M T0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVT QUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFW RV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUg SEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVf R0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwg I2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2Rl ZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVf UkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEK fCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNk ZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFW RV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NU UlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJ TUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1F X0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9S SyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVf VCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNB TkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tF VFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIg JzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHct PnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNF X1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElS RUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAo X2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBE RUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGlu dCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3Ry Y3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5U RiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFf Q0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9f U0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdo dCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJN X0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMt aWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9 PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVE SVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0t ZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0 ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFf aD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUg VVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEg MQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VO U0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVm aW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAw CnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVO ViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9U IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VU R1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xP Q0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05V TElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9B Q0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAKfCAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgICAgICNpZiBIQVZFX1NURElP X0VYVF9ICnwgICAgICMgaW5jbHVkZSA8c3RkaW9fZXh0Lmg+CnwgICAgICNlbmRpZgp8ICAgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gISBfX2ZwZW5kaW5nIChzdGRpbik7CnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDExMDogcmVzdWx0OiBubwpjb25maWd1cmU6MjQx Mzk6IGNoZWNraW5nIGhvdyB0byBkZXRlcm1pbmUgdGhlIG51bWJlciBvZiBwZW5kaW5nIG91dHB1 dCBieXRlcyBvbiBhIHN0cmVhbQpjb25maWd1cmU6MjQxOTg6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoK Y29uZnRlc3QuYzoyMTA6Mjk6IGVycm9yOiAnRklMRScgaGFzIG5vIG1lbWJlciBuYW1lZCAnX0lP X3dyaXRlX3B0cicKIEZJTEUgKmZwID0gc3RkaW47ICh2b2lkKSAoZnAtPl9JT193cml0ZV9wdHIg LSBmcC0+X0lPX3dyaXRlX2Jhc2UpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29u ZnRlc3QuYzoyMTA6NDk6IGVycm9yOiAnRklMRScgaGFzIG5vIG1lbWJlciBuYW1lZCAnX0lPX3dy aXRlX2Jhc2UnCiBGSUxFICpmcCA9IHN0ZGluOyAodm9pZCkgKGZwLT5fSU9fd3JpdGVfcHRyIC0g ZnAtPl9JT193cml0ZV9iYXNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KY29uZmlndXJlOjI0MTk4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH TlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFj cyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251 Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv ZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40 LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklO R19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBH Q19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVD SyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 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 X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNk ZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVm aW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9V U0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVm aW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVf R0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdS RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcg MQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8 ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklU IDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2Rl ZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBI QVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05U TCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK fCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FM VElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZF X0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5U RiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNU QVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1Q RVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9T T0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBD SEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1F IHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RF VklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09 IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9T RVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZp bmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElP TiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRG IHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQ UklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNf VklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhB VkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5 cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUg VEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dl cnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJl Zml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNU QVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNp ZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDEx X2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVy YW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdT PSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVm aW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVf WDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwg I2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1P REUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9H RVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5l IEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5l IEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhB VkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBG SUxFICpmcCA9IHN0ZGluOyAodm9pZCkgKGZwLT5fSU9fd3JpdGVfcHRyIC0gZnAtPl9JT193cml0 ZV9iYXNlKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI0MTk4OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjQxOTg6ICQ/ ID0gMApjb25maWd1cmU6MjQyMTA6IHJlc3VsdDogZnAtPl9wdHIgLSBmcC0+X2Jhc2UKY29uZmln dXJlOjI0MzQ1OiBjaGVja2luZyBmb3IgZ2V0bG9hZGF2Zwpjb25maWd1cmU6MjQzNDU6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApsZDogMDcx MS0zMTcgRVJST1I6IFVuZGVmaW5lZCBzeW1ib2w6IC5nZXRsb2FkYXZnCmxkOiAwNzExLTM0NSBV c2UgdGhlIC1ibG9hZG1hcCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9y bWF0aW9uLgpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmln dXJlOjI0MzQ1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFD S0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxF X0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBH Q19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9M SVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVD S19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFE 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 X1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0 YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2Rl ZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUg SEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBI QVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2Rl ZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9T RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExP Q0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8g MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf RU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNF VFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEK fCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNF RUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5Q VCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVm aW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZT WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQg MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUg SEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmlu ZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFW RV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xB TkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19y ZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwg I2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5V TExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3Vi cHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZp bmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2Rl ZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2Rl ZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBC Uk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJ Q0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsg IWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIv ZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFt ZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNk ZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmlu ZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgi CnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZk aXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxs IC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2 X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9 bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hl Y2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGli JyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8 ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9N QUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8 ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJU T0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9G REFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRP UFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmlu ZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90Cnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNk ZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0g MQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5l IEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2Rl ZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMg ZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5l IGdldGxvYWRhdmcgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBk ZWNsYXJlcyBnZXRsb2FkYXZnLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5o PiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZ2V0bG9hZGF2ZyBpbm5vY3Vv dXNfZ2V0bG9hZGF2Zwp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNy b3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0 IHdpdGggY2hhciBnZXRsb2FkYXZnICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4g dG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRz Lmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRl ZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFz c2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBnZXRsb2FkYXZnCnwgCnwgLyogT3ZlcnJpZGUg YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBn ZXRsb2FkYXZnICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9T WVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lm IGRlZmluZWQgX19zdHViX2dldGxvYWRhdmcgfHwgZGVmaW5lZCBfX3N0dWJfX19nZXRsb2FkYXZn CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBnZXRs b2FkYXZnICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjQzNDU6IHJlc3Vs dDogbm8KY29uZmlndXJlOjI0MzU3OiBjaGVja2luZyBmb3IgZWxmX2JlZ2luIGluIC1sZWxmCmNv bmZpZ3VyZToyNDM4MjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxl bGYgIC1scHRocmVhZCAgPiY1IApjb2xsZWN0MjogZmF0YWwgZXJyb3I6IGxpYnJhcnkgbGliZWxm IG5vdCBmb3VuZApjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MjQzODI6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93 d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19P VkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUg WE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwg I2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg 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 ZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tf YXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJO TyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRF Uk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZF X1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFW RV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRP SU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJ WkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NL RVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAx CnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jl c3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZ UyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYv bnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNk ZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQ ICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9S WV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAo X2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVm aW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2Rl ZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkp Owp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBf V09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19D T05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1w cmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxv Y2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAt LXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklH PW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJf WDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFH Uz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUn ICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFW RV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVD SUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmlu ZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg V09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUg SEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8 ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJD SFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1Qg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVO ViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NL X1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZF X0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NB VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9Q RU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5f YmFzZQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNl IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFu ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNp ZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGVsZl9iZWdpbiAo KTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBlbGZfYmVnaW4gKCk7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDM5MTogcmVzdWx0OiBubwpjb25maWd1cmU6MjQzOTc6 IGNoZWNraW5nIGZvciBrdm1fb3BlbiBpbiAtbGt2bQpjb25maWd1cmU6MjQ0MjI6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1sa3ZtICAtbHB0aHJlYWQgID4mNSAKY29s bGVjdDI6IGZhdGFsIGVycm9yOiBsaWJyYXJ5IGxpYmt2bSBub3QgZm91bmQKY29tcGlsYXRpb24g dGVybWluYXRlZC4KY29uZmlndXJlOjI0NDIyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy NC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUw Igp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19C WVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19D SEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAx CnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8 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 TSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf TE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8 ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNk ZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxU SU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElN RV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRF X1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJT QU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NL RVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFS ICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3 LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklD RV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJ UkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAg KF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUg REVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBp bnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0 cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklO VEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklB X0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf X1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmln aHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVS TV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBj LWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4 PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRF RElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAt LWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4 dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1h X2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5l IFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDEx IDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRP VU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdF VEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NM T0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdO VUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVf QUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJ TkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl cm4gIkMiCnwgI2VuZGlmCnwgY2hhciBrdm1fb3BlbiAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8 IHJldHVybiBrdm1fb3BlbiAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI0 NDMxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNDQzODogY2hlY2tpbmcgZm9yIGdldGxvYWRhdmcg aW4gLWx1dGlsCmNvbmZpZ3VyZToyNDQ2MzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNv bmZ0ZXN0LmMgLWx1dGlsICAtbHB0aHJlYWQgID4mNSAKY29sbGVjdDI6IGZhdGFsIGVycm9yOiBs aWJyYXJ5IGxpYnV0aWwgbm90IGZvdW5kCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3Vy ZToyNDQ2MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9D SEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0Nf Q0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElT VCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tf Q09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJHRV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lO X1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RM X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVO IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZM SU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQ IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNF IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVf WFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUg SEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9Y MTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFu dGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZp bmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFW RV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZp bmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NB TEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFM IDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAj ZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAj ZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VO REdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRT UEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQg MQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lO QyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEK fCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhB VkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUg SEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVf VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5H SU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVz dHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxM X0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnBy b2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5l IERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZp bmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZp bmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJP S0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFj IDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rl di9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUs IHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVm aW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUg VVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAj ZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGly PTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAt LXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9w YXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5v IGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNr aW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYici CnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAj ZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFM TE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9M RCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRB VEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BU X1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUg SEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVm aW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEK fCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBH TlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZp bmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZw LT5fcHRyIC0gZnAtPl9iYXNlCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJy aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVz ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8 ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh cHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNo YXIgZ2V0bG9hZGF2ZyAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBnZXRsb2FkYXZn ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjQ0NzI6IHJlc3VsdDogbm8K Y29uZmlndXJlOjI0NDg1OiBjaGVja2luZyBmb3IgZ2V0bG9hZGF2ZyBpbiAtbGdldGxvYWRhdmcK Y29uZmlndXJlOjI0NTEwOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAt bGdldGxvYWRhdmcgIC1ML3Vzci9sb2NhbC9saWIgLWxwdGhyZWFkICA+JjUgCmNvbGxlY3QyOiBm YXRhbCBlcnJvcjogbGlicmFyeSBsaWJnZXRsb2FkYXZnIG5vdCBmb3VuZApjb21waWxhdGlvbiB0 ZXJtaW5hdGVkLgpjb25maWd1cmU6MjQ1MTA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBF bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0 LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFj cy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAi CnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZ VEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NI RUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEK fCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwg 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 IDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmlu ZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUg SEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9M T0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVT QUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFW RV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUg SEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVf R0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwg I2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2Rl ZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVf UkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEK fCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNk ZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFW RV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NU UlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJ TUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1F X0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9S SyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVf VCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNB TkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tF VFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIg JzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHct PnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNF X1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElS RUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAo X2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBE RUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGlu dCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3Ry Y3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5U RiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFf Q0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9f U0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdo dCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJN X0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMt aWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9 PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVE SVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0t ZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0 ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFf aD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUg VVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEg MQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VO U0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVm aW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAw CnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVO ViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9U IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VU R1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xP Q0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05V TElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9B Q0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElO R19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90 b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVy biAiQyIKfCAjZW5kaWYKfCBjaGFyIGdldGxvYWRhdmcgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsK fCByZXR1cm4gZ2V0bG9hZGF2ZyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjI0NTE5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNDUzNDogY2hlY2tpbmcgZm9yIGtzdGF0X29w ZW4gaW4gLWxrc3RhdApjb25maWd1cmU6MjQ1NTk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9j ICBjb25mdGVzdC5jIC1sa3N0YXQgIC1scHRocmVhZCAgPiY1IApjb2xsZWN0MjogZmF0YWwgZXJy b3I6IGxpYnJhcnkgbGlia3N0YXQgbm90IGZvdW5kCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNv bmZpZ3VyZToyNDU1OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQu NC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5l IFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVO QUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZp bmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZS RUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0Nf Q0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENf 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 SEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklN SW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8 ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVm aW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZp bmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RS U0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRP IDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVf Q0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwg I2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFW RV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xT VEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVm aW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNk ZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5l IEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5l IF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmlu ZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5l IHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAj ZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8 ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8 ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZp bmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRf REVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9 IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1l LCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5 X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNk ZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVy bS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAu MCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNj b25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0 LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBh Y19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5k cl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxl LWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lU IDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBH TlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9I IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9f R0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNk ZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRf dAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEK fCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RS RUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2Rl ZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8 ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZ VEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8q IE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8 ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBh IEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRp Zgp8IGNoYXIga3N0YXRfb3BlbiAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBrc3Rh dF9vcGVuICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjQ1Njg6IHJlc3Vs dDogbm8KY29uZmlndXJlOjI0NTgzOiBjaGVja2luZyBmb3IgcGVyZnN0YXRfY3B1X3RvdGFsIGlu IC1scGVyZnN0YXQKY29uZmlndXJlOjI0NjA4OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAg Y29uZnRlc3QuYyAtbHBlcmZzdGF0ICAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjI0NjA4OiAk PyA9IDAKY29uZmlndXJlOjI0NjE3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQ3MDM6IGNoZWNr aW5nIHN5cy9sb2FkYXZnLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyNDcwMzogPFRPT0xTRElSPi9n Y2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyNDE6MjU6IGZhdGFs IGVycm9yOiBzeXMvbG9hZGF2Zy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVk ZSA8c3lzL2xvYWRhdmcuaD4KICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24g dGVybWluYXRlZC4KY29uZmlndXJlOjI0NzAzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy NC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUw Igp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19C WVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19D SEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAx CnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8 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 TSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf TE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8 ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNk ZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxU SU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElN RV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRF X1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJT QU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NL RVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFS ICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3 LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklD RV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJ UkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAg KF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUg REVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBp bnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0 cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklO VEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklB X0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf X1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmln aHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVS TV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBj LWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4 PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRF RElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAt LWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4 dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1h X2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5l IFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDEx IDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRP VU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdF VEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NM T0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdO VUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVf QUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJ TkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElC UEVSRlNUQVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4K fCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGlu Y2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19I CnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwg IyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNl bmRpZgp8ICNpbmNsdWRlIDxzeXMvbG9hZGF2Zy5oPgpjb25maWd1cmU6MjQ3MDM6IHJlc3VsdDog bm8KY29uZmlndXJlOjI0NzAzOiBjaGVja2luZyBzeXMvbG9hZGF2Zy5oIHByZXNlbmNlCmNvbmZp Z3VyZToyNDcwMzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtRSAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoy MDg6MjU6IGZhdGFsIGVycm9yOiBzeXMvbG9hZGF2Zy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CiAjaW5jbHVkZSA8c3lzL2xvYWRhdmcuaD4KICAgICAgICAgICAgICAgICAgICAgICAgIF4K Y29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjI0NzAzOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUt ZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcv c29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJT SU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NI RUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZF UlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZ UEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ 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 QVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50 ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZp bmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dO IDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9D Rk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09Q WVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VO V0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQ VCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwg I2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUg SEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5l IEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVm aW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2Rl ZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP UktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFW RV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNk ZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZp bmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2Rl ZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJf RlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVm aW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykg KChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJ UkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZ X0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFN RV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RU WV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5l IFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAj ZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJ R0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8 ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFU SU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElP TlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGly PTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9v bGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9o ZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNp b25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycg J0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0g LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dT IDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVm aW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9D IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNk ZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VO RElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJP Tl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhB VkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUg SEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEK fCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEK fCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAj ZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAj ZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVm aW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3lzL2xvYWRhdmcuaD4KY29uZmlndXJlOjI0NzAzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToy NDcwMzogY2hlY2tpbmcgZm9yIHN5cy9sb2FkYXZnLmgKY29uZmlndXJlOjI0NzAzOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToyNDcxODogY2hlY2tpbmcgd2hldGhlciBnZXRsb2FkYXZnIGlzIGRlY2xh cmVkCmNvbmZpZ3VyZToyNDcxODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5 OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIyMDox MDogZXJyb3I6ICdnZXRsb2FkYXZnJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICAgKHZvaWQpIGdldGxvYWRhdmc7CiAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MjIwOjEw OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2Ug Zm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6MjQ3MTg6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi YnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cu Z251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZp bmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVS UlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1B TExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2Rl ZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW 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 ZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJn NiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAx CnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElS X05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEK fCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVS TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMg MQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUg SEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFW RV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1J TkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9G Q0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUg MQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRT IDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5l IEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwg I2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAx CnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVs bCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZp bmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcv Jwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9T RVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2Nf KSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9E SVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2Rl ZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5l IFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmlu ZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8 ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09S S1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmlu ZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05G SUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVm aXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fs c3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAtLXdp dGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5v IGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJfWDEx X2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFHUz0t TzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdM REZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9Y X1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQg MQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBS RUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09S RFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFW RV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNk ZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VU SU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NF VFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RV UDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5E SVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFz ZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpZiBIQVZFX1NZU19MT0FEQVZHX0gKfCAgICAgIyBpbmNsdWRlIDxzeXMvbG9hZGF2Zy5oPgp8 ICAgICAjZW5kaWYKfCAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8IAp8IGludAp8IG1haW4gKCkK fCB7CnwgI2lmbmRlZiBnZXRsb2FkYXZnCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkg Z2V0bG9hZGF2ZzsKfCAjZWxzZQp8ICAgKHZvaWQpIGdldGxvYWRhdmc7CnwgI2VuZGlmCnwgI2Vu ZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDcxODogcmVzdWx0OiBu bwpjb25maWd1cmU6MjQ4MTQ6IGNoZWNraW5nIG5saXN0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToy NDgxNDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjI0ODE0OiAkPyA9IDAKY29uZmlndXJlOjI0ODE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MjQ4MTQ6IGNoZWNraW5nIG5saXN0LmggcHJlc2VuY2UKY29uZmlndXJlOjI0ODE0OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1FICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MjQ4MTQ6ICQ/ID0gMApjb25maWd1 cmU6MjQ4MTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNDgxNDogY2hlY2tpbmcgZm9yIG5saXN0 LmgKY29uZmlndXJlOjI0ODE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQ4MTk6IGNoZWNraW5n IGZvciBzdHJ1Y3Qgbmxpc3Qubl91bi5uX25hbWUKY29uZmlndXJlOjI0ODE5OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlv biAnbWFpbic6CmNvbmZ0ZXN0LmM6MjE1OjEyOiBlcnJvcjogJ3N0cnVjdCBubGlzdCcgaGFzIG5v IG1lbWJlciBuYW1lZCAnbl91bicKIGlmIChhY19hZ2dyLm5fdW4ubl9uYW1lKQogICAgICAgICAg ICBeCmNvbmZpZ3VyZToyNDgxOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVm aW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RS SU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZp bmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5l 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 ZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdp c3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hf U00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEK fCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8 ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5E NDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhB VkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NU UkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5l IEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhB VkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9Q T1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5J VCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBI QVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURM SU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEK fCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUg MQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZp bmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAj ZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxM X05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwg I2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAj ZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vj b3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9j XykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllf U0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8 ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRf U09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZv ciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0 eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNw eSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNU RVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAg MQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAy MDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4 Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEg LS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13 aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxl LWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25z X1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0t ZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9U T09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2Rl ZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFW RV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVm aW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAj ZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElN RVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNf VCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRU SU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xP U0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAx CnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5E SVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBV VF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFU IDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxubGlzdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBu bGlzdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLm5fdW4ubl9uYW1lKQp8IHJldHVybiAwOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjQ4MTk6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoK Y29uZnRlc3QuYzoyMTU6MTk6IGVycm9yOiAnc3RydWN0IG5saXN0JyBoYXMgbm8gbWVtYmVyIG5h bWVkICduX3VuJwogaWYgKHNpemVvZiBhY19hZ2dyLm5fdW4ubl9uYW1lKQogICAgICAgICAgICAg ICAgICAgXgpjb25maWd1cmU6MjQ4MTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8i CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwg I2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVT IDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNL X1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAj ZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2Rl 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 fCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBY UmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFW RV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NL RiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdF IDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9M UkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dB SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2Rl ZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmlu ZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVT X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRP VU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVf UiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NB Q0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAx CnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRf RlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMg MQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzon CnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3 X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NF UChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNU T1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2Nf KSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZB VUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBj OyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5 IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBz dHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hB UkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VU Sk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAo QykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hF QURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJt LWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+ IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlz YWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5z aW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1u byAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNF X1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8 ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lH TkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5l IEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwg I2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAx CnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FM QVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFY IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JP VVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tf R0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElC X0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NF U1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRP UEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19P VVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJG U1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8bmxpc3QuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1 Y3Qgbmxpc3QgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iubl91bi5uX25hbWUpCnwgcmV0 dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDgxOTogcmVzdWx0OiBu bwpjb25maWd1cmU6MjQ4NDY6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRl ICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5j IC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjQ4NDY6ICQ/ID0gMApjb25maWd1cmU6MjQ5Njg6 IGNoZWNraW5nIHdoZXRoZXIgZ2V0dGltZW9mZGF5IGNsb2JiZXJzIGxvY2FsdGltZSBidWZmZXIK Y29uZmlndXJlOjI1MDA3OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAg LUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAt bHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjI1MDA3OiAkPyA9IDAKY29uZmlndXJlOjI1MDA3OiAu L2NvbmZ0ZXN0CmNvbmZpZ3VyZToyNTAwNzogJD8gPSAwCmNvbmZpZ3VyZToyNTAxNzogcmVzdWx0 OiBubwpjb25maWd1cmU6MjUwMzM6IGNoZWNraW5nIGZvciBnZXR0aW1lb2ZkYXkgd2l0aCBQT1NJ WCBzaWduYXR1cmUKY29uZmlndXJlOjI1MDYxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjUwNjE6ICQ/ID0gMApjb25maWd1cmU6MjUwODY6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNTIwMzogY2hlY2tpbmcgZm9yIG1lbXJjaHIKY29uZmln dXJlOjI1MjAzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJl YWQgID4mNSAKbGQ6IDA3MTEtMzE3IEVSUk9SOiBVbmRlZmluZWQgc3ltYm9sOiAubWVtcmNocgps ZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRh aW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQg c3RhdHVzCmNvbmZpZ3VyZToyNTIwMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAj ZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMg MQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tf U1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVm 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 ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhS ZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZF X1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tG IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVm aW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5l IEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2Rl ZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNf SU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNk ZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmlu ZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9S IDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FD SEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEK fCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEK fCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9G VUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAx CnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicK fCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdf Z2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQ KF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RP UllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18p KQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFV TFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7 IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkg KHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0 cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFS QUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRK TVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChD KSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVB REVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0t YWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4g LS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNh YmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNp b25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5v IC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0gLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0Vf WF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwg I2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdO RURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUg SEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEK fCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxB Uk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19V VElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9V UFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19H RVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJf Q0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VT UyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9Q RU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09V VFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZT VEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAx CnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJ TUVaT05FIHZvaWQKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIG1lbXJjaHIg dG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBtZW1y Y2hyLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0 aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgbWVtcmNociBpbm5vY3VvdXNfbWVtcmNocgp8IAp8IC8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBtZW1yY2hyICgp OyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENf XyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVz dGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8 bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1 bmRlZiBtZW1yY2hyCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUg dG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2gg dGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMK fCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBtZW1yY2hyICgpOwp8IC8qIFRoZSBHTlUgQyBs aWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAg ICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs bHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg bmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX21lbXJjaHIgfHwgZGVm aW5lZCBfX3N0dWJfX19tZW1yY2hyCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHJldHVybiBtZW1yY2hyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MjUyMDM6IHJlc3VsdDogbm8KY29uZmlndXJlOjI1MjkxOiBjaGVja2luZyBmb3Igd29y a2luZyBta3RpbWUKY29uZmlndXJlOjI1NDk5OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAg Y29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjI1NDk5OiAkPyA9IDAKY29uZmln dXJlOjI1NDk5OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyNTQ5OTogJD8gPSAzCmNvbmZpZ3VyZTog cHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgMwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2Rl ZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEK fCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NU UklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVm aW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmlu 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 ZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVn aXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9Y X1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEK fCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFO RDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2Rl ZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9H RVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZF X1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09D S05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmlu ZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBI QVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZp bmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVf UE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAx CnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hF IDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwg I2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVM TF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwg I2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dl Y29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChf Y18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZ X1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkK fCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBm b3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChw dHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJj cHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFD VEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1Q IDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFp eDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx IC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0t d2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJs ZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9u c19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAt LWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hf VE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNk ZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhB VkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2Rl ZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBT X1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VU VElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NM T1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1Mg MQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVO RElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQ VVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RB VCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8 ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1F Wk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAvKiBUZXN0IHByb2dyYW0gZnJvbSBQYXVsIEVnZ2VydCBhbmQgVG9ueSBMZW5laXMu ICAqLwp8ICNpbmNsdWRlIDxsaW1pdHMuaD4KfCAjaW5jbHVkZSA8c3RkbGliLmg+CnwgI2luY2x1 ZGUgPHRpbWUuaD4KfCAKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3Rk Lmg+CnwgI2VuZGlmCnwgCnwgI2lmIEhBVkVfREVDTF9BTEFSTQp8ICMgaW5jbHVkZSA8c2lnbmFs Lmg+CnwgI2VuZGlmCnwgCnwgLyogV29yayBhcm91bmQgcmVkZWZpbml0aW9uIHRvIHJwbF9wdXRl bnYgYnkgb3RoZXIgY29uZmlnIHRlc3RzLiAgKi8KfCAjdW5kZWYgcHV0ZW52CnwgCnwgc3RhdGlj IHRpbWVfdCB0aW1lX3RfbWF4Owp8IHN0YXRpYyB0aW1lX3QgdGltZV90X21pbjsKfCAKfCAvKiBW YWx1ZXMgd2UnbGwgdXNlIHRvIHNldCB0aGUgVFogZW52aXJvbm1lbnQgdmFyaWFibGUuICAqLwp8 IHN0YXRpYyBjaGFyICp0el9zdHJpbmdzW10gPSB7CnwgICAoY2hhciAqKSAwLCAiVFo9R01UMCIs ICJUWj1KU1QtOSIsCnwgICAiVFo9RVNUKzNFRFQrMixNMTAuMS4wLzAwOjAwOjAwLE0yLjMuMC8w MDowMDowMCIKfCB9Owp8ICNkZWZpbmUgTl9TVFJJTkdTIChzaXplb2YgKHR6X3N0cmluZ3MpIC8g c2l6ZW9mICh0el9zdHJpbmdzWzBdKSkKfCAKfCAvKiBSZXR1cm4gMCBpZiBta3RpbWUgZmFpbHMg dG8gY29udmVydCBhIGRhdGUgaW4gdGhlIHNwcmluZy1mb3J3YXJkIGdhcC4KfCAgICBCYXNlZCBv biBhIHByb2JsZW0gcmVwb3J0IGZyb20gQW5kcmVhcyBKYWVnZXIuICAqLwp8IHN0YXRpYyBpbnQK fCBzcHJpbmdfZm9yd2FyZF9nYXAgKCkKfCB7CnwgICAvKiBnbGliYyAodXAgdG8gYWJvdXQgMTk5 OC0xMC0wNykgZmFpbGVkIHRoaXMgdGVzdC4gKi8KfCAgIHN0cnVjdCB0bSB0bTsKfCAKfCAgIC8q IFVzZSB0aGUgcG9ydGFibGUgUE9TSVguMSBzcGVjaWZpY2F0aW9uICJUWj1QU1Q4UERULE00LjEu MCxNMTAuNS4wIgp8ICAgICAgaW5zdGVhZCBvZiAiVFo9QW1lcmljYS9WYW5jb3V2ZXIiIGluIG9y ZGVyIHRvIGRldGVjdCB0aGUgYnVnIGV2ZW4KfCAgICAgIG9uIHN5c3RlbXMgdGhhdCBkb24ndCBz dXBwb3J0IHRoZSBPbHNvbiBleHRlbnNpb24sIG9yIGRvbid0IGhhdmUgdGhlCnwgICAgICBmdWxs IHpvbmVpbmZvIHRhYmxlcyBpbnN0YWxsZWQuICAqLwp8ICAgcHV0ZW52ICgiVFo9UFNUOFBEVCxN NC4xLjAsTTEwLjUuMCIpOwp8IAp8ICAgdG0udG1feWVhciA9IDk4Owp8ICAgdG0udG1fbW9uID0g MzsKfCAgIHRtLnRtX21kYXkgPSA1Owp8ICAgdG0udG1faG91ciA9IDI7CnwgICB0bS50bV9taW4g PSAwOwp8ICAgdG0udG1fc2VjID0gMDsKfCAgIHRtLnRtX2lzZHN0ID0gLTE7CnwgICByZXR1cm4g bWt0aW1lICgmdG0pICE9ICh0aW1lX3QpIC0xOwp8IH0KfCAKfCBzdGF0aWMgaW50CnwgbWt0aW1l X3Rlc3QxICh0aW1lX3Qgbm93KQp8IHsKfCAgIHN0cnVjdCB0bSAqbHQ7CnwgICByZXR1cm4gISAo bHQgPSBsb2NhbHRpbWUgKCZub3cpKSB8fCBta3RpbWUgKGx0KSA9PSBub3c7CnwgfQp8IAp8IHN0 YXRpYyBpbnQKfCBta3RpbWVfdGVzdCAodGltZV90IG5vdykKfCB7CnwgICByZXR1cm4gKG1rdGlt ZV90ZXN0MSAobm93KQp8ICAgICAgICAgICAmJiBta3RpbWVfdGVzdDEgKCh0aW1lX3QpICh0aW1l X3RfbWF4IC0gbm93KSkKfCAgICAgICAgICAgJiYgbWt0aW1lX3Rlc3QxICgodGltZV90KSAodGlt ZV90X21pbiArIG5vdykpKTsKfCB9CnwgCnwgc3RhdGljIGludAp8IGlyaXhfNl80X2J1ZyAoKQp8 IHsKfCAgIC8qIEJhc2VkIG9uIGNvZGUgZnJvbSBBcmllbCBGYWlnb24uICAqLwp8ICAgc3RydWN0 IHRtIHRtOwp8ICAgdG0udG1feWVhciA9IDk2Owp8ICAgdG0udG1fbW9uID0gMzsKfCAgIHRtLnRt X21kYXkgPSAwOwp8ICAgdG0udG1faG91ciA9IDA7CnwgICB0bS50bV9taW4gPSAwOwp8ICAgdG0u dG1fc2VjID0gMDsKfCAgIHRtLnRtX2lzZHN0ID0gLTE7CnwgICBta3RpbWUgKCZ0bSk7CnwgICBy ZXR1cm4gdG0udG1fbW9uID09IDIgJiYgdG0udG1fbWRheSA9PSAzMTsKfCB9CnwgCnwgc3RhdGlj IGludAp8IGJpZ3RpbWVfdGVzdCAoaW50IGopCnwgewp8ICAgc3RydWN0IHRtIHRtOwp8ICAgdGlt ZV90IG5vdzsKfCAgIHRtLnRtX3llYXIgPSB0bS50bV9tb24gPSB0bS50bV9tZGF5ID0gdG0udG1f aG91ciA9IHRtLnRtX21pbiA9IHRtLnRtX3NlYyA9IGo7CnwgICBub3cgPSBta3RpbWUgKCZ0bSk7 CnwgICBpZiAobm93ICE9ICh0aW1lX3QpIC0xKQp8ICAgICB7CnwgICAgICAgc3RydWN0IHRtICps dCA9IGxvY2FsdGltZSAoJm5vdyk7CnwgICAgICAgaWYgKCEgKGx0CnwgICAgICAgICAgICAgICYm IGx0LT50bV95ZWFyID09IHRtLnRtX3llYXIKfCAgICAgICAgICAgICAgJiYgbHQtPnRtX21vbiA9 PSB0bS50bV9tb24KfCAgICAgICAgICAgICAgJiYgbHQtPnRtX21kYXkgPT0gdG0udG1fbWRheQp8 ICAgICAgICAgICAgICAmJiBsdC0+dG1faG91ciA9PSB0bS50bV9ob3VyCnwgICAgICAgICAgICAg ICYmIGx0LT50bV9taW4gPT0gdG0udG1fbWluCnwgICAgICAgICAgICAgICYmIGx0LT50bV9zZWMg PT0gdG0udG1fc2VjCnwgICAgICAgICAgICAgICYmIGx0LT50bV95ZGF5ID09IHRtLnRtX3lkYXkK fCAgICAgICAgICAgICAgJiYgbHQtPnRtX3dkYXkgPT0gdG0udG1fd2RheQp8ICAgICAgICAgICAg ICAmJiAoKGx0LT50bV9pc2RzdCA8IDAgPyAtMSA6IDAgPCBsdC0+dG1faXNkc3QpCnwgICAgICAg ICAgICAgICAgICAgPT0gKHRtLnRtX2lzZHN0IDwgMCA/IC0xIDogMCA8IHRtLnRtX2lzZHN0KSkp KQp8ICAgICAgICAgcmV0dXJuIDA7CnwgICAgIH0KfCAgIHJldHVybiAxOwp8IH0KfCAKfCBzdGF0 aWMgaW50CnwgeWVhcl8yMDUwX3Rlc3QgKCkKfCB7CnwgICAvKiBUaGUgY29ycmVjdCBhbnN3ZXIg Zm9yIDIwNTAtMDItMDEgMDA6MDA6MDAgaW4gUGFjaWZpYyB0aW1lLAp8ICAgICAgaWdub3Jpbmcg bGVhcCBzZWNvbmRzLiAgKi8KfCAgIHVuc2lnbmVkIGxvbmcgaW50IGFuc3dlciA9IDI1MjczMTUy MDBVTDsKfCAKfCAgIHN0cnVjdCB0bSB0bTsKfCAgIHRpbWVfdCB0Owp8ICAgdG0udG1feWVhciA9 IDIwNTAgLSAxOTAwOwp8ICAgdG0udG1fbW9uID0gMiAtIDE7CnwgICB0bS50bV9tZGF5ID0gMTsK fCAgIHRtLnRtX2hvdXIgPSB0bS50bV9taW4gPSB0bS50bV9zZWMgPSAwOwp8ICAgdG0udG1faXNk c3QgPSAtMTsKfCAKfCAgIC8qIFVzZSB0aGUgcG9ydGFibGUgUE9TSVguMSBzcGVjaWZpY2F0aW9u ICJUWj1QU1Q4UERULE00LjEuMCxNMTAuNS4wIgp8ICAgICAgaW5zdGVhZCBvZiAiVFo9QW1lcmlj YS9WYW5jb3V2ZXIiIGluIG9yZGVyIHRvIGRldGVjdCB0aGUgYnVnIGV2ZW4KfCAgICAgIG9uIHN5 c3RlbXMgdGhhdCBkb24ndCBzdXBwb3J0IHRoZSBPbHNvbiBleHRlbnNpb24sIG9yIGRvbid0IGhh dmUgdGhlCnwgICAgICBmdWxsIHpvbmVpbmZvIHRhYmxlcyBpbnN0YWxsZWQuICAqLwp8ICAgcHV0 ZW52ICgiVFo9UFNUOFBEVCxNNC4xLjAsTTEwLjUuMCIpOwp8IAp8ICAgdCA9IG1rdGltZSAoJnRt KTsKfCAKfCAgIC8qIENoZWNrIHRoYXQgdGhlIHJlc3VsdCBpcyBlaXRoZXIgYSBmYWlsdXJlLCBv ciBjbG9zZSBlbm91Z2gKfCAgICAgIHRvIHRoZSBjb3JyZWN0IGFuc3dlciB0aGF0IHdlIGNhbiBh c3N1bWUgdGhlIGRpc2NyZXBhbmN5IGlzCnwgICAgICBkdWUgdG8gbGVhcCBzZWNvbmRzLiAgKi8K fCAgIHJldHVybiAodCA9PSAodGltZV90KSAtMQp8ICAgICAgICAgICB8fCAoMCA8IHQgJiYgYW5z d2VyIC0gMTIwIDw9IHQgJiYgdCA8PSBhbnN3ZXIgKyAxMjApKTsKfCB9CnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCAgIGludCByZXN1bHQgPSAwOwp8ICAgdGltZV90IHQsIGRlbHRhOwp8ICAgaW50 IGksIGo7CnwgICBpbnQgdGltZV90X3NpZ25lZF9tYWduaXR1ZGUgPSAodGltZV90KSB+ICh0aW1l X3QpIDAgPCAodGltZV90KSAtMTsKfCAgIGludCB0aW1lX3Rfc2lnbmVkID0gISAoKHRpbWVfdCkg MCA8ICh0aW1lX3QpIC0xKTsKfCAKfCAjaWYgSEFWRV9ERUNMX0FMQVJNCnwgICAvKiBUaGlzIHRl c3QgbWFrZXMgc29tZSBidWdneSBta3RpbWUgaW1wbGVtZW50YXRpb25zIGxvb3AuCnwgICAgICBH aXZlIHVwIGFmdGVyIDYwIHNlY29uZHM7IGEgbWt0aW1lIHNsb3dlciB0aGFuIHRoYXQKfCAgICAg IGlzbid0IHdvcnRoIHVzaW5nIGFueXdheS4gICovCnwgICBzaWduYWwgKFNJR0FMUk0sIFNJR19E RkwpOwp8ICAgYWxhcm0gKDYwKTsKfCAjZW5kaWYKfCAKfCAgIHRpbWVfdF9tYXggPSAoISB0aW1l X3Rfc2lnbmVkCnwgICAgICAgICAgICAgICAgID8gKHRpbWVfdCkgLTEKfCAgICAgICAgICAgICAg ICAgOiAoKCgodGltZV90KSAxIDw8IChzaXplb2YgKHRpbWVfdCkgKiBDSEFSX0JJVCAtIDIpKSAt IDEpCnwgICAgICAgICAgICAgICAgICAgICogMiArIDEpKTsKfCAgIHRpbWVfdF9taW4gPSAoISB0 aW1lX3Rfc2lnbmVkCnwgICAgICAgICAgICAgICAgID8gKHRpbWVfdCkgMAp8ICAgICAgICAgICAg ICAgICA6IHRpbWVfdF9zaWduZWRfbWFnbml0dWRlCnwgICAgICAgICAgICAgICAgID8gfiAodGlt ZV90KSAwCnwgICAgICAgICAgICAgICAgIDogfiB0aW1lX3RfbWF4KTsKfCAKfCAgIGRlbHRhID0g dGltZV90X21heCAvIDk5NzsgLyogYSBzdWl0YWJsZSBwcmltZSBudW1iZXIgKi8KfCAgIGZvciAo aSA9IDA7IGkgPCBOX1NUUklOR1M7IGkrKykKfCAgICAgewp8ICAgICAgIGlmICh0el9zdHJpbmdz W2ldKQp8ICAgICAgICAgcHV0ZW52ICh0el9zdHJpbmdzW2ldKTsKfCAKfCAgICAgICBmb3IgKHQg PSAwOyB0IDw9IHRpbWVfdF9tYXggLSBkZWx0YSAmJiAocmVzdWx0ICYgMSkgPT0gMDsgdCArPSBk ZWx0YSkKfCAgICAgICAgIGlmICghIG1rdGltZV90ZXN0ICh0KSkKfCAgICAgICAgICAgcmVzdWx0 IHw9IDE7CnwgICAgICAgaWYgKChyZXN1bHQgJiAyKSA9PSAwCnwgICAgICAgICAgICYmICEgKG1r dGltZV90ZXN0ICgodGltZV90KSAxKQp8ICAgICAgICAgICAgICAgICAmJiBta3RpbWVfdGVzdCAo KHRpbWVfdCkgKDYwICogNjApKQp8ICAgICAgICAgICAgICAgICAmJiBta3RpbWVfdGVzdCAoKHRp bWVfdCkgKDYwICogNjAgKiAyNCkpKSkKfCAgICAgICAgIHJlc3VsdCB8PSAyOwp8IAp8ICAgICAg IGZvciAoaiA9IDE7IChyZXN1bHQgJiA0KSA9PSAwOyBqIDw8PSAxKQp8ICAgICAgICAgewp8ICAg ICAgICAgICBpZiAoISBiaWd0aW1lX3Rlc3QgKGopKQp8ICAgICAgICAgICAgIHJlc3VsdCB8PSA0 Owp8ICAgICAgICAgICBpZiAoSU5UX01BWCAvIDIgPCBqKQp8ICAgICAgICAgICAgIGJyZWFrOwp8 ICAgICAgICAgfQp8ICAgICAgIGlmICgocmVzdWx0ICYgOCkgPT0gMCAmJiAhIGJpZ3RpbWVfdGVz dCAoSU5UX01BWCkpCnwgICAgICAgICByZXN1bHQgfD0gODsKfCAgICAgfQp8ICAgaWYgKCEgaXJp eF82XzRfYnVnICgpKQp8ICAgICByZXN1bHQgfD0gMTY7CnwgICBpZiAoISBzcHJpbmdfZm9yd2Fy ZF9nYXAgKCkpCnwgICAgIHJlc3VsdCB8PSAzMjsKfCAgIGlmICghIHllYXJfMjA1MF90ZXN0ICgp KQp8ICAgICByZXN1bHQgfD0gNjQ7CnwgICByZXR1cm4gcmVzdWx0Owp8IH0KY29uZmlndXJlOjI1 NTEwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNTU3MTogY2hlY2tpbmcgd2hldGhlciBzaWduYXR1 cmUgb2YgcHNlbGVjdCBjb25mb3JtcyB0byBQT1NJWApjb25maWd1cmU6MjU1OTE6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjIwOjU1OiB3YXJuaW5nOiBpbml0aWFs aXphdGlvbiBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgW2VuYWJsZWQgYnkgZGVmYXVs dF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnc2V0X3QgY29uc3QgKnJlc3RyaWN0KSA9 IHBzZWxlY3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCmNvbmZpZ3VyZToyNTU5MTogJD8gPSAwCmNvbmZpZ3VyZToyNTU5OTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjI1NjAyOiBjaGVja2luZyB3aGV0aGVyIHBzZWxlY3QgZGV0ZWN0cyBp bnZhbGlkIGZkcwpjb25maWd1cmU6MjU2NDc6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6 CmNvbmZ0ZXN0LmM6MjI4OjM6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0 aW9uICdtZW1zZXQnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBGRF9aRVJP KCZzZXQpOwogICBeCmNvbmZpZ3VyZToyNTY0NzogJD8gPSAwCmNvbmZpZ3VyZToyNTY0NzogLi9j b25mdGVzdApjb25maWd1cmU6MjU2NDc6ICQ/ID0gMApjb25maWd1cmU6MjU2NTg6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyNTc3MDogY2hlY2tpbmcgd2hldGhlciBwdGhyZWFkX3NpZ21hc2sgcmV0 dXJucyBlcnJvciBudW1iZXJzCmNvbmZpZ3VyZToyNTgwMjogPFRPT0xTRElSPi9nY2MtNC44L2Jp bi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJi aWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MjU4MDI6ICQ/ID0g MApjb25maWd1cmU6MjU4MDI6IC4vY29uZnRlc3QKY29uZmlndXJlOjI1ODAyOiAkPyA9IDAKY29u ZmlndXJlOjI1ODE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjU4MjU6IGNoZWNraW5nIHdoZXRo ZXIgcHRocmVhZF9zaWdtYXNrIHVuYmxvY2tzIHNpZ25hbHMgY29ycmVjdGx5CmNvbmZpZ3VyZToy NTg3ODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt TzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+ JjUgCmNvbmZpZ3VyZToyNTg3ODogJD8gPSAwCmNvbmZpZ3VyZToyNTg3ODogLi9jb25mdGVzdApj b25maWd1cmU6MjU4Nzg6ICQ/ID0gMApjb25maWd1cmU6MjU4OTA6IHJlc3VsdDogZ3Vlc3Npbmcg eWVzCmNvbmZpZ3VyZToyNTkzNDogY2hlY2tpbmcgZm9yIHB1dGVudiBjb21wYXRpYmxlIHdpdGgg R05VIGFuZCBTVklECmNvbmZpZ3VyZToyNTk3MzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2Mg IGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyNTk3MzogJD8gPSAwCmNvbmZp Z3VyZToyNTk3MzogLi9jb25mdGVzdApjb25maWd1cmU6MjU5NzM6ICQ/ID0gMwpjb25maWd1cmU6 IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8 ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNk ZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAx CnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19T VFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2Rl ZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZp 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 I2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJl Z2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVf WF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0Yg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNk ZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVf R0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZp bmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUg SEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZF X1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19J TklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5l IEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1Ig MQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNI RSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8 ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNk ZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8 ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZV TExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEK fCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8 ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19n ZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAo X2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9S WV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykp CnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVM VF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsg Zm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAo cHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3Ry Y3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJB Q1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpN UCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMp IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1h aXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAt LXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRpc2Fi bGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lv bnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1hX2g9bm8g LS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9Y X1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAj ZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05F RF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBI QVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNk ZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8 ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFS TSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VU SU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQ U19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dF VFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9D TE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNT IDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BF TkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VU UFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNU QVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEK fCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElN RVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAj IGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gK fCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8 ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMg aWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJT ICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5k aWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1Nf SAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVT X0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5U X0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9I CnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8 ICAgICAvKiBQdXQgaXQgaW4gZW52LiAgKi8KfCAgICAgaWYgKHB1dGVudiAoIkNPTkZURVNUX3B1 dGVudj12YWwiKSkKfCAgICAgICByZXR1cm4gMTsKfCAKfCAgICAgLyogVHJ5IHRvIHJlbW92ZSBp dC4gICovCnwgICAgIGlmIChwdXRlbnYgKCJDT05GVEVTVF9wdXRlbnYiKSkKfCAgICAgICByZXR1 cm4gMjsKfCAKfCAgICAgLyogTWFrZSBzdXJlIGl0IHdhcyBkZWxldGVkLiAgKi8KfCAgICAgaWYg KGdldGVudiAoIkNPTkZURVNUX3B1dGVudiIpICE9IDApCnwgICAgICAgcmV0dXJuIDM7CnwgCnwg ICAgIHJldHVybiAwOwp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjU5ODQ6 IHJlc3VsdDogbm8KY29uZmlndXJlOjI2MDA1OiBjaGVja2luZyB3aGV0aGVyIF9wdXRlbnYgaXMg ZGVjbGFyZWQKY29uZmlndXJlOjI2MDA1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3Rk PWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6 MjUzOjEwOiBlcnJvcjogJ19wdXRlbnYnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAodm9pZCkgX3B1dGVudjsKICAgICAgICAgIF4KY29uZnRlc3QuYzoyNTM6MTA6 IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBm b3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToyNjAwNTogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJi dWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5n bnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmlu ZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJS VU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFM TE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVm aW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF 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 IEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2 IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEK fCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJf TkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T SFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBI QVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJ TFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZF X0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlO Rk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAj ZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNF TEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZD SE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAx CnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMg MQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEK fCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxs Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmlu ZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8n CnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NF UChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18p IChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVm aW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUg UFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5l IFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7Cnwg I2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxz dGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0 aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8g YWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFf ZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1P MCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xE RkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hf V0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAx CnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJF TF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JE U19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZF X0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJ TUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg MQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VU VElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQ MiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJ UiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNl CnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwg I2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8 ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09T VEVNUCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNp ZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVk ZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAj IGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBp bmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlm CnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIF9wdXRlbnYKfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCAgICh2b2lkKSBfcHV0ZW52Owp8ICNlbHNlCnwgICAodm9pZCkgX3B1dGVudjsKfCAjZW5k aWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2MDA1OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjQ3NTogY2hlY2tpbmcgd2hldGhlciByZWFkbGluayBzaWdu YXR1cmUgaXMgY29ycmVjdApjb25maWd1cmU6MjY0OTM6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MjE3OjE1OiBlcnJvcjogY29uZmxpY3Rp bmcgdHlwZXMgZm9yICdyZWFkbGluaycKICAgICAgIHNzaXplX3QgcmVhZGxpbmsgKGNvbnN0IGNo YXIgKiwgY2hhciAqLCBzaXplX3QpOwogICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQg ZnJvbSBjb25mdGVzdC5jOjIxNTowOgovdXNyL2luY2x1ZGUvdW5pc3RkLmg6ODMzOjEzOiBub3Rl OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAncmVhZGxpbmsnIHdhcyBoZXJlCiAgZXh0ZXJuIGlu dCByZWFkbGluayhjb25zdCBjaGFyICosIGNoYXIgKiwgc2l6ZV90KTsKICAgICAgICAgICAgIF4K Y29uZmlndXJlOjI2NDkzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUg RU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2Rl ZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdf RlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBH Q19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1RE 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 ZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVy SU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAx CnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNk ZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9T VFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5E VE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFW RV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9M T0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lY X09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEK fCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVf TFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8 ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNk ZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwg I2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZp bmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFN RSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVm aW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZp bmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8 ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAw CnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVAp CnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2Rl ZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VO RF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChj ID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25h bWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChw dHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMg MQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwg I2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0 ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEu MC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5 c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhv dXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNs IGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJh bmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFi bGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xL SVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5l IEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB X0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5 OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUg X19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZp bmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwg I2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdp ZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUg MQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9T VFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAj ZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAw CnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05f QllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8 ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVm aW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUg dm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVU RU5WIDAKfCAjZGVmaW5lIFVTRV9BQ0wgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8dW5pc3RkLmg+CnwgICAgICAgLyogQ2F1c2UgY29tcGlsYXRpb24gZmFpbHVyZSBpZiBv cmlnaW5hbCBkZWNsYXJhdGlvbiBoYXMgd3JvbmcgdHlwZS4gICovCnwgICAgICAgc3NpemVfdCBy ZWFkbGluayAoY29uc3QgY2hhciAqLCBjaGFyICosIHNpemVfdCk7CnwgaW50CnwgbWFpbiAoKQp8 IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2NTAwOiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToyNjUwMjogY2hlY2tpbmcgd2hldGhlciByZWFkbGluayBoYW5kbGVzIHRyYWls aW5nIHNsYXNoIGNvcnJlY3RseQpjb25maWd1cmU6MjY1MzI6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1i YmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjY1MzI6ICQ/ID0g MApjb25maWd1cmU6MjY1MzI6IC4vY29uZnRlc3QKY29uZmlndXJlOjI2NTMyOiAkPyA9IDAKY29u ZmlndXJlOjI2NTQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjY2MjA6IGNoZWNraW5nIGZvciBz aWcyc3RyCmNvbmZpZ3VyZToyNjYyMDogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2lu Y2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0 ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJv bDogLnNpZzJzdHIKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBv cHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0 dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MjY2MjA6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tf U1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVm aW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVO X0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9E RUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf 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 WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAx CnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8 ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBN QUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVf R0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFL RVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lH TiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5E X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZF X0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUg TE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5l IEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NO UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBI QVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5l IFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxM X05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUg SVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9j XykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNU T1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwg I2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRF UkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQ UklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05B TUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lH TkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZp bmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQg IkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2Rl ZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04g InBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAi LS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExP Q0FMU1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10b29sa2l0 PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2X2hlYWRl cl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNf WGluZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWczJyAnQ1BQ RkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxU T09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8 ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUg SEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8 ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFO IDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RF Q0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9E RUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZF X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNk ZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5l IEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNk ZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZp bmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZp bmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUg SEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9O QU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdF VFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgVVNFX0FDTCAwCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBzaWcyc3RyIHRvIGFuIGlubm9jdW91cyB2YXJpYW50 LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc2lnMnN0ci4KfCAgICBGb3IgZXhhbXBsZSwg SFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5l IHNpZzJzdHIgaW5ub2N1b3VzX3NpZzJzdHIKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc2lnMnN0ciAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8 bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAg ICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8K fCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBp bmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgc2lnMnN0cgp8IAp8IC8qIE92 ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAg IFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdD Qwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls bCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8 IGNoYXIgc2lnMnN0ciAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGgg RU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGlu ZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8 ICNpZiBkZWZpbmVkIF9fc3R1Yl9zaWcyc3RyIHx8IGRlZmluZWQgX19zdHViX19fc2lnMnN0cgp8 IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gc2lnMnN0 ciAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2NjIwOiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToyNjcyMjogY2hlY2tpbmcgZm9yIHZvbGF0aWxlIHNpZ19hdG9taWNfdApjb25m aWd1cmU6MjY3MjI6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8w IC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToyNjcyMjogJD8gPSAwCmNvbmZpZ3VyZToyNjcyMjogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21h aW4nOgpjb25mdGVzdC5jOjIyMjozNjogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3Jl ICcpJyB0b2tlbgogaWYgKHNpemVvZiAoKHZvbGF0aWxlIHNpZ19hdG9taWNfdCkpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjcyMjogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJi dWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5n bnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmlu ZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJS VU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFM TE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVm aW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF 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 IEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2 IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEK fCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJf TkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T SFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBI QVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJ TFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZF X0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlO Rk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAj ZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNF TEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZD SE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAx CnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMg MQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEK fCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxs Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmlu ZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8n CnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NF UChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18p IChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVm aW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUg UFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5l IFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7Cnwg I2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxz dGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0 aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8g YWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFf ZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1P MCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xE RkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hf V0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAx CnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJF TF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JE U19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZF X0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJ TUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg MQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VU VElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQ MiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJ UiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNl CnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwg I2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8 ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09T VEVNUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBVU0VfQUNMIDAK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgI2luY2x1ZGUgPHNpZ25hbC5oPgp8IAp8IAp8 IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKHZvbGF0aWxlIHNpZ19hdG9taWNfdCkp KQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjcy MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2NzM4OiBjaGVja2luZyBmb3Igc2lnaGFuZGxlcl90 CmNvbmZpZ3VyZToyNjczODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt YyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIyMjoxMzog ZXJyb3I6ICdzaWdoYW5kbGVyX3QnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogaWYgKHNpemVvZiAoc2lnaGFuZGxlcl90KSkKICAgICAgICAgICAgIF4KY29uZnRlc3Qu YzoyMjI6MTM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9u bHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToyNjczODog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0 cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNz Igp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAx CnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RS SU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2Rl ZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNU IDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl 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 fCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxs YmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9I X0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9T VE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9S QU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVm aW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhB VkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhB VkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwg I2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2Rl ZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZp bmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1Ra U0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lN TElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRB QkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVU X1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8 ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JL IDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RF U0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJy IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFW RV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAi L2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAx CnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9S WV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElS RUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5Z X1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9D VVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2Rz cCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8 ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsK fCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUg KGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NF VEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8K fCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1l eGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+ IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0 PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19D T05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hl YWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAn Q0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5j bHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmlu ZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVT RV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAj ZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2Rl ZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBy cGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVz dHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf TUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdT RVRfVCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VO U0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVf Q0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5l IEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFD Q0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElC X0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0g ZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJ U1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVG SVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdO VUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBV U0VfQUNMIDAKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgI2luY2x1ZGUgPHNpZ25hbC5o Pgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoc2lnaGFuZGxlcl90KSkK fCAJIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY3Mzg6IHJl c3VsdDogbm8KY29uZmlndXJlOjI2NzUxOiBjaGVja2luZyBmb3Igc29ja2xlbl90CmNvbmZpZ3Vy ZToyNjc1MTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWcz ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjI2NzUxOiAkPyA9IDAKY29uZmlndXJlOjI2NzUxOiA8VE9PTFNESVI+L2djYy00Ljgv YmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMu OTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6 CmNvbmZ0ZXN0LmM6MjMwOjI0OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJykn IHRva2VuCiBpZiAoc2l6ZW9mICgoc29ja2xlbl90KSkpCiAgICAgICAgICAgICAgICAgICAgICAg IF4KY29uZmlndXJlOjI2NzUxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZp bmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwg I2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJ TkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmlu ZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUg 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 ZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lz dGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9T TSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8 ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwg I2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0 OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VU QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFW RV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9T RU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RS RVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUg SEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFW RV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5l IEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklU IDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhB VkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJ TksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8 ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAx CnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNk ZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExf TkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAj ZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNk ZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNv cwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2Nf KSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9T RVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwg I2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9T T1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9y IChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5 X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5 IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RF UlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAx CnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIw MTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIg Inh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2 LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAt LXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdp dGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRpc2FibGUt YWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNf WHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1hX2g9bm8gLS1l bmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RP T0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVm aW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZp bmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAx CnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1F UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19U IGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJ TUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9T RV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEK fCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJ UiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVU X05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQg MQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpP TkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9f UFVURU5WIDAKfCAjZGVmaW5lIFVTRV9BQ0wgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAK fCAvKiA8c3lzL3R5cGVzLmg+IGlzIG5vdCBuZWVkZWQgYWNjb3JkaW5nIHRvIFBPU0lYLCBidXQg dGhlCnwgICAgPHN5cy9zb2NrZXQuaD4gaW4gaTM4Ni11bmtub3duLWZyZWVic2Q0LjEwIGFuZAp8 ICAgIHBvd2VycGMtYXBwbGUtZGFyd2luNS41IHJlcXVpcmVkIGl0LiAqLwp8ICNpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gKfCAjIGluY2x1ZGUgPHN5cy9zb2Nr ZXQuaD4KfCAjZWxpZiBIQVZFX1dTMlRDUElQX0gKfCAjIGluY2x1ZGUgPHdzMnRjcGlwLmg+Cnwg I2VuZGlmCnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoc29ja2xlbl90 KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2 NzUxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjY4MTU6IGNoZWNraW5nIGZvciBzc2l6ZV90CmNv bmZpZ3VyZToyNjgzMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAt TzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjI2ODMyOiAkPyA9IDAKY29uZmlndXJlOjI2ODM5OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjY4NTE6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3RhdC5zdF9hdGltLnR2X25zZWMK Y29uZmlndXJlOjI2ODUxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1j IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjIyOjEyOiBl cnJvcjogJ3N0cnVjdCBzdGF0NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW0nCiBpZiAo YWNfYWdnci5zdF9hdGltLnR2X25zZWMpCiAgICAgICAgICAgIF4KY29uZmlndXJlOjI2ODUxOiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRw Oi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3Mi CnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEK fCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJ TkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVm aW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1Qg MQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm 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 bmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVN QkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4 TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8 ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxi YWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hf RVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NU TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJS RU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JB TkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZp bmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFW RV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUg SEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1M SU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFC TEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRf U09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg MQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVT RVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIg X19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZF X1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIv ZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEK fCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZ X1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJF Q1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllf U0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NV UlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNw Igp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwg I2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8 ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAo ZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VU Sk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8 ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBF TUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4 ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4g LS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9 bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NP TkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVh ZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdD RkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNs dWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5l IEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNF X0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNk ZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVm aW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9N RU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NF VF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5T RVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9D TE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUg SEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUND RVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJf RkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBm cC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElT VF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJ WCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05V TElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIFVT RV9BQ0wgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CnwgICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0 YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2F0aW0udHZfbnNlYykK fCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2ODUxOiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBm dW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjIyOjE5OiBlcnJvcjogJ3N0cnVjdCBzdGF0NjQn IGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW0nCiBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRp bS50dl9uc2VjKQogICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjY4NTE6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi YnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cu Z251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZp bmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVS UlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1B TExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2Rl ZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW 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 ZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJn NiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAx CnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElS X05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEK fCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVS TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMg MQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUg SEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFW RV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1J TkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9G Q0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUg MQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRT IDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5l IEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwg I2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAx CnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVs bCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZp bmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcv Jwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9T RVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2Nf KSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9E SVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2Rl ZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5l IFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmlu ZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8 ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09S S1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmlu ZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05G SUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVm aXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fs c3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAtLXdp dGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5v IGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJfWDEx X2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFHUz0t TzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdM REZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9Y X1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQg MQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBS RUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09S RFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFW RV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNk ZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VU SU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NF VFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RV UDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5E SVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFz ZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8 ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8K fCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtP U1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgVVNFX0FDTCAw CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAg ICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0 cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2F0aW0udHZfbnNlYykK fCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2ODUxOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToyNjkwMjogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2F0aW1l c3BlYy50dl9uc2VjCmNvbmZpZ3VyZToyNjkwMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVz dC5jOjIyMjoxMjogZXJyb3I6ICdzdHJ1Y3Qgc3RhdDY0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdz dF9hdGltZXNwZWMnCiBpZiAoYWNfYWdnci5zdF9hdGltZXNwZWMudHZfbnNlYykKICAgICAgICAg ICAgXgpjb25maWd1cmU6MjY5MDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2Rl ZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEK fCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NU UklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVm aW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmlu 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 ZGVmaW5lIEhBVkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVn aXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9Y X1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEK fCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFO RDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2Rl ZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9H RVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZF X1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09D S05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmlu ZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBI QVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZp bmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVf UE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAx CnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hF IDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwg I2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVM TF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwg I2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dl Y29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChf Y18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZ X1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkK fCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBm b3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChw dHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJj cHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFD VEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1Q IDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFp eDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx IC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0t d2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJs ZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9u c19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAt LWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hf VE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNk ZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhB VkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2Rl ZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBT X1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VU VElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NM T1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1Mg MQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVO RElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQ VVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RB VCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8 ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1F Wk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X19QVVRFTlYgMAp8ICNkZWZpbmUgVVNFX0FDTCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8 IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYg KGFjX2FnZ3Iuc3RfYXRpbWVzcGVjLnR2X25zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjkwMjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5j OjIyMjoxOTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdDY0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9h dGltZXNwZWMnCiBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbWVzcGVjLnR2X25zZWMpCiAgICAg ICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjkwMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi R05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1h Y3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdu dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl L2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu NC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJ TkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUg R0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hF Q0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVH IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK 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 Nl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAj ZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2Rl ZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxf VVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9S SU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2Rl ZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEK fCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAj ZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUg SEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFX IDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEK fCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5J VCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUg SEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNO VEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAx CnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xP Q0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NB TFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFW RV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZG T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklO VEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJT VEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFN UEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVf U09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQ Q0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFN RSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19E RVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9 PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllf U0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJ T04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5U RiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9T UFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxT X1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBI QVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29w eXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93 ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXBy ZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2Vt YWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxT VEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVj aWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gx MV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5l cmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFH Uz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2Rl ZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZF X1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhB VkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8 ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJN T0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xf R0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmlu ZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFW RV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmlu ZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBI QVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQ RU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZF X0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVf UE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElN RU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBVU0VfQUNMIDAKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgI2luY2x1ZGUgPHN5 cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNf YWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbWVzcGVjLnR2X25zZWMpCnwgcmV0dXJu IDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjkwMjogcmVzdWx0OiBubwpj b25maWd1cmU6MjY5MTM6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3RhdC5zdF9hdGltZW5zZWMKY29u ZmlndXJlOjI2OTEzOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1P MCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjIyOjEyOiBlcnJv cjogJ3N0cnVjdCBzdGF0NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW1lbnNlYycKIGlm IChhY19hZ2dyLnN0X2F0aW1lbnNlYykKICAgICAgICAgICAgXgpjb25maWd1cmU6MjY5MTM6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6 Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklO R19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZp bmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAx CnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp 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 I2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJh Y2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9F UlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1RO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNk ZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFW RV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZp bmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5l IFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNF VCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJM RVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9T T0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNF VCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBf X3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVf UFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9k ZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8 ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllf U0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVD VE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9T RVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAj ZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7Cnwg I2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChm ZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRK TVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwg I2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFD U19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhl Yy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAt LWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1u byAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09O RklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFk ZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NG TEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUg SEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0Vf TFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2Rl ZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZp bmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBs Xwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01F TVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VU X1QgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNF VEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NM T0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NF U1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9G RE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZw LT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNU X0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklY IHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVM SUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgVVNF X0FDTCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K fCAgICAgICAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7 Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3Iuc3RfYXRpbWVuc2Vj KQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY5MTM6IDxU T09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMjI6MTk6IGVycm9yOiAnc3RydWN0IHN0YXQ2 NCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYXRpbWVuc2VjJwogaWYgKHNpemVvZiBhY19hZ2dy LnN0X2F0aW1lbnNlYykKICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjI2OTEzOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAj ZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdf T1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5l IFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8 ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0xBUkdFX0ZJTEVTIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9J Tk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiYWl4Igp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUg SEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUg SEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVS T0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAx CnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNk ZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNr X2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJS Tk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5U X0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRP TSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9S RUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf X19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5l IEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBU RVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQg MQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5l IEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFW RV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVT SVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09D S0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8 ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQg MQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19y ZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BU WVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2 L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAj ZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NF UCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RP UllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQ KF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8 ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2Rl ZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNk ZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQp KTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1Q X1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNk ZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFD U19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1Nf Q09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMt cHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1s b2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8g LS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJ Rz1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVy X1gxMV9leHRlbnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxB R1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRl JyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhB VkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xV Q0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZp bmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5l IEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8K fCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1S Q0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9U IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRF TlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9D S19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFW RV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNT QVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRP UEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+ X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9I IDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBy cGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElC X01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIFVTRV9B Q0wgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg ICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci5zdF9hdGlt ZW5zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjkx MzogcmVzdWx0OiBubwpjb25maWd1cmU6MjY5MjQ6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3RhdC5z dF9hdGltLnN0X190aW0udHZfbnNlYwpjb25maWd1cmU6MjY5MjQ6IDxUT09MU0RJUj4vZ2NjLTQu OC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWlu JzoKY29uZnRlc3QuYzoyMjI6MTI6IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFzIG5vIG1lbWJl ciBuYW1lZCAnc3RfYXRpbScKIGlmIChhY19hZ2dyLnN0X2F0aW0uc3RfX3RpbS50dl9uc2VjKQog ICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjkyNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V IEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3Mg MjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41 MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdf QllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0Nf Q0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sg MQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEK 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 SU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmlu ZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNF X0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRS VVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBI QVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEK fCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAj ZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAx CnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZp bmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFW RV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwg MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM VElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJ TUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9G T1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFU RV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVS U0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hB UiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBE SVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04g aW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBz dHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJ TlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJ QV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJp Z2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJw Yy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFU RURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQg LS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9l eHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFt YV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0g LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmlu ZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gx MSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNk ZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RF IDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VU RU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJU T1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBH RVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9D TE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBH TlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZF X0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5E SU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJ QlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9J TlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9G REFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBVU0VfQUNMIDAKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgICAgICAgI2luY2x1ZGUg PHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQg YWNfYWdncjsKfCBpZiAoYWNfYWdnci5zdF9hdGltLnN0X190aW0udHZfbnNlYykKfCByZXR1cm4g MDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2OTI0OiA8VE9PTFNESVI+L2dj Yy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAn bWFpbic6CmNvbmZ0ZXN0LmM6MjIyOjE5OiBlcnJvcjogJ3N0cnVjdCBzdGF0NjQnIGhhcyBubyBt ZW1iZXIgbmFtZWQgJ3N0X2F0aW0nCiBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbS5zdF9fdGlt LnR2X25zZWMpCiAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjkyNDogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJi dWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5n bnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmlu ZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJS VU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFM TE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVm aW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF 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 IEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2 IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEK fCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJf TkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T SFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBI QVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJ TFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZF X0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlO Rk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAj ZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNF TEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZD SE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAx CnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMg MQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEK fCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxs Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmlu ZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8n CnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NF UChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18p IChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVm aW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUg UFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5l IFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7Cnwg I2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxz dGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0 aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8g YWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFf ZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1P MCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xE RkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hf V0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAx CnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJF TF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JE U19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZF X0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJ TUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg MQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VU VElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQ MiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJ UiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNl CnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwg I2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8 ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09T VEVNUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBVU0VfQUNMIDAK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAg ICAgICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBz dGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbS5z dF9fdGltLnR2X25zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZToyNjkyNDogcmVzdWx0OiBubwpjb25maWd1cmU6MjY5NDY6IGNoZWNraW5nIGZvciBzdHJ1 Y3Qgc3RhdC5zdF9iaXJ0aHRpbWVzcGVjLnR2X25zZWMKY29uZmlndXJlOjI2OTQ2OiA8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5j dGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjIyOjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0NjQnIGhh cyBubyBtZW1iZXIgbmFtZWQgJ3N0X2JpcnRodGltZXNwZWMnCiBpZiAoYWNfYWdnci5zdF9iaXJ0 aHRpbWVzcGVjLnR2X25zZWMpCiAgICAgICAgICAgIF4KY29uZmlndXJlOjI2OTQ2OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg ImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2Rl ZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVm aW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZF UlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhN QUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNk ZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB 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 bmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2Fy ZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8g MQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFW RV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNW RlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVF Uk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5l IEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19C VUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhB VkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJN SU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8 ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf RkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lN QVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEK fCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpF IDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VU UyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0 cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMg MQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251 bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVm aW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAn LycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllf U0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9j XykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNk ZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmlu ZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZp bmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsK fCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dP UktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZp bmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19D T05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJl Zml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2Nh bHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13 aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1u byBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gx MV9leHRlbnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9 LU8wIC1nMycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAn TERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVf WF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lE IDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUg UkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdP UkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhB VkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAj ZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hS IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9V VElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19T RVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9E VVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVO RElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jh c2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEK fCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxf CnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01L T1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIFVTRV9BQ0wg MAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAg ICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBz dHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2JpcnRodGltZXNwZWMudHZfbnNl YykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2OTQ2OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjIyOjE5OiBlcnJvcjogJ3N0cnVjdCBzdGF0 NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2JpcnRodGltZXNwZWMnCiBpZiAoc2l6ZW9mIGFj X2FnZ3Iuc3RfYmlydGh0aW1lc3BlYy50dl9uc2VjKQogICAgICAgICAgICAgICAgICAgXgpjb25m aWd1cmU6MjY5NDY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQ QUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFC TEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5l IEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVF X0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NI RUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hF 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 VkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUlu c3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZF X1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VU TE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIg MQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9G U0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BF TlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RB VCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B U0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwg I2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmlu ZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVm aW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBI QVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf TEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBf X3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RF VklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAw OyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg Ii9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwg I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVm aW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0u aCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAi CnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29u ZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1h bGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNf Y3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJf aD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1j aGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9s aWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAx CnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05V X01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NU UlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dF VE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVm aW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwg I2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVB TSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZp bmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAj ZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRF UyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUg X19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lk CnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYg MAp8ICNkZWZpbmUgVVNFX0FDTCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1h aW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19h Z2dyLnN0X2JpcnRodGltZXNwZWMudHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjI2OTQ2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjk1NzogY2hl Y2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2JpcnRodGltZW5zZWMKY29uZmlndXJlOjI2OTU3OiA8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjIyOjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0 NjQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2JpcnRodGltZW5zZWMnCiBpZiAoYWNfYWdnci5z dF9iaXJ0aHRpbWVuc2VjKQogICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjk1NzogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJi dWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5n bnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmlu ZSBHQ19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJS VU4gMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFM TE9DX09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVm aW5lIEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF 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 IEhBVkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2 IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEK fCAjZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJf TkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T SFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBI QVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJ TFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZF X0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlO Rk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAj ZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNF TEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZD SE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAx CnwgI2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMg MQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEK fCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxs Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmlu ZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8n CnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NF UChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18p IChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVm aW5lIFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUg UFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5l IFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7Cnwg I2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxz dGF0ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0 aC14LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8g YWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFf ZXh0ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1P MCAtZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xE RkxBR1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hf V0lORE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAx CnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJF TF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JE U19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZF X0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJ TUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg MQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VU VElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQ MiAxCnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJ UiAxCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNl CnwgI2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwg I2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8 ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09T VEVNUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBVU0VfQUNMIDAK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAg ICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMg c3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5zdF9iaXJ0aHRpbWVuc2VjKQp8IHJl dHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY5NTc6IDxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMjI6MTk6IGVycm9yOiAnc3RydWN0IHN0YXQ2NCcgaGFz IG5vIG1lbWJlciBuYW1lZCAnc3RfYmlydGh0aW1lbnNlYycKIGlmIChzaXplb2YgYWNfYWdnci5z dF9iaXJ0aHRpbWVuc2VjKQogICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjY5NTc6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6 Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8 ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklO R19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZp bmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAx CnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp 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 I2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJh Y2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9F UlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1RO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJF TlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNk ZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFW RV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZp bmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5l IFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNF VCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJM RVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9T T0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNF VCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBf X3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVf UFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9k ZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8 ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllf U0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVD VE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9T RVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAj ZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7Cnwg I2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChm ZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRK TVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwg I2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFD U19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhl Yy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAt LWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1u byAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09O RklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFk ZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NG TEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1 ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUg SEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0Vf TFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2Rl ZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZp bmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBs Xwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01F TVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VU X1QgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNF VEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NM T0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NF U1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9G RE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZw LT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNU X0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklY IHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVM SUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgVVNF X0FDTCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K fCAgICAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg c3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2JpcnRo dGltZW5zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToy Njk1NzogcmVzdWx0OiBubwpjb25maWd1cmU6MjY5Njg6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3Rh dC5zdF9iaXJ0aHRpbS50dl9uc2VjCmNvbmZpZ3VyZToyNjk2ODogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4n Ogpjb25mdGVzdC5jOjIyMjoxMjogZXJyb3I6ICdzdHJ1Y3Qgc3RhdDY0JyBoYXMgbm8gbWVtYmVy IG5hbWVkICdzdF9iaXJ0aHRpbScKIGlmIChhY19hZ2dyLnN0X2JpcnRodGltLnR2X25zZWMpCiAg ICAgICAgICAgIF4KY29uZmlndXJlOjI2OTY4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy NC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUw Igp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19C WVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19D SEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAx CnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8 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 TSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf TE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8 ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNk ZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxU SU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElN RV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRF X1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJT QU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NL RVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFS ICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3 LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklD RV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJ UkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAg KF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUg REVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBp bnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0 cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklO VEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklB X0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf X1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmln aHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVS TV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBj LWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4 PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRF RElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAt LWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4 dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1h X2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5l IFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDEx IDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRP VU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdF VEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NM T0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdO VUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVf QUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJ TkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElC UEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lO VEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZE QVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIFVTRV9BQ0wgMAp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAgICAgICAgICNpbmNsdWRlIDxzeXMv c3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2Fn Z3I7CnwgaWYgKGFjX2FnZ3Iuc3RfYmlydGh0aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2OTY4OiA8VE9PTFNESVI+L2djYy00LjgvYmlu L2djYyAtc3RkPWdudTk5IC1jIC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv aW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNv bmZ0ZXN0LmM6MjIyOjE5OiBlcnJvcjogJ3N0cnVjdCBzdGF0NjQnIGhhcyBubyBtZW1iZXIgbmFt ZWQgJ3N0X2JpcnRodGltJwogaWYgKHNpemVvZiBhY19hZ2dyLnN0X2JpcnRodGltLnR2X25zZWMp CiAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjk2ODogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH TlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVt YWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVD S19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJS VU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBI X0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF 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 RV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElN IDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVy CnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5l IE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwg I2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUg SEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAx CnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdN QVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVS IDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNk ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFW RV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZN QUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlT SUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJ TkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQg MQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNk ZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhB VkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVP RkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwg I2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBI QVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmlu ZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZp bmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVf U05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhB VkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVm aW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5l IEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZp bmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZV TExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmlu ZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgo X2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJF Q1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9J VEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVf U1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlf TkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBT SUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2Rl ZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdI VCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAj ZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElP TiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05T ICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08 TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xr aXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVh ZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9u c19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdD UFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1M PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAx CnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmlu ZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVm aW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJ QU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05f REVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZF X0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZF X1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5l IEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwg I2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwg I2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2Rl ZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2Rl ZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmlu ZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBO X05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUg R0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBVU0VfQUNMIDAKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgICAjaW5j bHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qg c3RhdCBhY19hZ2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci5zdF9iaXJ0aHRpbS50dl9uc2VjKQp8 IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY5Njg6IHJlc3Vs dDogbm8KY29uZmlndXJlOjI2OTg2OiBjaGVja2luZyBmb3Igd29ya2luZyBzdGRhbGlnbi5oCmNv bmZpZ3VyZToyNzAyNzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAt TzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzoyMjc6MTg6IGVycm9yOiBzaXplIG9mIGFycmF5ICd0ZXN0X2RvdWJsZScg aXMgbmVnYXRpdmUKICAgICAgICAgICAgIGNoYXIgdGVzdF9kb3VibGVbYW8gKGRvdWJsZSkgJSBf QWxpZ25vZiAoZG91YmxlKSA9PSAwID8gMSA6IC0xXTsKICAgICAgICAgICAgICAgICAgXgpjb25m aWd1cmU6MjcwMjc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQ QUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFC TEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5l IEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVF X0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NI RUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hF 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 VkVfWDExWFRSNiAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUlu c3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZF X1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VU TE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIg MQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9G U0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BF TlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RB VCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B U0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwg I2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmlu ZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVm aW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBI QVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf TEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBf X3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RF VklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAw OyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwg Ii9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9u YW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwg I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVm aW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0u aCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAi CnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29u ZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1h bGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNf Y3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJf aD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1j aGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFj cy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9s aWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAx CnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05V X01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NU UlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dF VE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVm aW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwg I2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVB TSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZp bmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAj ZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRF UyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUg X19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lk CnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYg MAp8ICNkZWZpbmUgVVNFX0FDTCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzdGRhbGlnbi5oPgp8ICAgICAgICAgICAgICNpbmNsdWRlIDxzdGRkZWYuaD4KfCAKfCAgICAg ICAgICAgICAvKiBUZXN0IHRoYXQgYWxpZ25vZiB5aWVsZHMgYSByZXN1bHQgY29uc2lzdGVudCB3 aXRoIG9mZnNldG9mLgp8ICAgICAgICAgICAgICAgIFRoaXMgY2F0Y2hlcyBHQ0MgYnVnIDUyMDIz CnwgICAgICAgICAgICAgICAgPGh0dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5j Z2k/aWQ9NTIwMjM+LiAgKi8KfCAgICAgICAgICAgICAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICAg ICAgICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgdD4gc3RydWN0IGFsaWdub2ZfaGVscGVyIHsgY2hh ciBhOyB0IGI7IH07CnwgICAgICAgICAgICAgIyBkZWZpbmUgYW8odHlwZSkgb2Zmc2V0b2YgKGFs aWdub2ZfaGVscGVyPHR5cGU+LCBiKQp8ICAgICAgICAgICAgICNlbHNlCnwgICAgICAgICAgICAg IyBkZWZpbmUgYW8odHlwZSkgb2Zmc2V0b2YgKHN0cnVjdCB7IGNoYXIgYTsgdHlwZSBiOyB9LCBi KQp8ICAgICAgICAgICAgICNlbmRpZgp8ICAgICAgICAgICAgIGNoYXIgdGVzdF9kb3VibGVbYW8g KGRvdWJsZSkgJSBfQWxpZ25vZiAoZG91YmxlKSA9PSAwID8gMSA6IC0xXTsKfCAgICAgICAgICAg ICBjaGFyIHRlc3RfbG9uZ1thbyAobG9uZyBpbnQpICUgX0FsaWdub2YgKGxvbmcgaW50KSA9PSAw ID8gMSA6IC0xXTsKfCAgICAgICAgICAgICBjaGFyIHRlc3RfYWxpZ25vZlthbGlnbm9mIChkb3Vi bGUpID09IF9BbGlnbm9mIChkb3VibGUpID8gMSA6IC0xXTsKfCAKfCAgICAgICAgICAgICAvKiBU ZXN0IF9BbGlnbmFzIG9ubHkgb24gcGxhdGZvcm1zIHdoZXJlIGdudWxpYiBjYW4gaGVscC4gICov CnwgICAgICAgICAgICAgI2lmICAgICAgICAgICAgICAgICAoKGRlZmluZWQgX19jcGx1c3BsdXMg JiYgMjAxMTAzIDw9IF9fY3BsdXNwbHVzKSAgICAgICAgICAgICAgICAgIHx8IF9fR05VQ19fIHx8 IF9fSUJNQ19fIHx8IF9fSUJNQ1BQX18gfHwgX19JQ0MgICAgICAgICAgICAgICAgICB8fCAweDUx MTAgPD0gX19TVU5QUk9fQyB8fCAxMzAwIDw9IF9NU0NfVkVSKQp8ICAgICAgICAgICAgICAgc3Ry dWN0IGFsaWduYXNfdGVzdCB7IGNoYXIgYzsgY2hhciBhbGlnbmFzICg4KSBhbGlnbmFzXzg7IH07 CnwgICAgICAgICAgICAgICBjaGFyIHRlc3RfYWxpZ25hc1tvZmZzZXRvZiAoc3RydWN0IGFsaWdu YXNfdGVzdCwgYWxpZ25hc184KSA9PSA4CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA/IDEgOiAtMV07CnwgICAgICAgICAgICAgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI3MDM0OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToyNzA2MTogY2hlY2tpbmcgd2hldGhlciBOVUxMIGNhbiBiZSB1c2VkIGluIGFyYml0 cmFyeSBleHByZXNzaW9ucwpjb25maWd1cmU6MjcwNzk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4v Z2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNzA3OTogJD8gPSAwCmNvbmZpZ3VyZToy NzA4NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI3MzkyOiBjaGVja2luZyB3aGV0aGVyIHN0cnRv aW1heCB3b3Jrcwpjb25maWd1cmU6Mjc0NDY6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBj b25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6Mjc0NDY6ICQ/ID0gMApjb25maWd1 cmU6Mjc0NDY6IC4vY29uZnRlc3QKY29uZmlndXJlOjI3NDQ2OiAkPyA9IDAKY29uZmlndXJlOjI3 NDU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc1NjI6IGNoZWNraW5nIHdoZXRoZXIgc3ltbGlu ayBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoIGNvcnJlY3RseQpjb25maWd1cmU6Mjc1OTY6IDxUT09M U0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQu My45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1 cmU6Mjc1OTY6ICQ/ID0gMApjb25maWd1cmU6Mjc1OTY6IC4vY29uZnRlc3QKY29uZmlndXJlOjI3 NTk2OiAkPyA9IDUKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyA1CmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWct Z251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUu b3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUg VkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBH Q19DSEVDS19TVFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4g MQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9D X09WRVJSVU5fQ0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5l IEdMWVBIX0RFQlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ 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 VkVfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQ b2ludGVyCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAj ZGVmaW5lIE1BSUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNk ZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9H RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVU RE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwg I2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZF X0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dS QU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8g MQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVm aW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVD VCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1P RCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwg I2RlZmluZSBMT0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5l IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QK fCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAj ZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8 ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChf Y18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJ U19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9O QU1FIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5l IFBUWV9JVEVSQVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZ X05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBU WV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2Rl ZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAx CnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENP UFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklH VVJBVElPTiAicG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19P UFRJT05TICItLXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0 ZWRpcj08TE9DQUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14 LXRvb2xraXQ9bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNf Y3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0 ZW5zaW9uc19YaW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAt ZzMnICdDUFBGTEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxB R1M9IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lO RE9XUyAxCnwgI2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwg I2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9B TExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19C SUdFTkRJQU4gMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VO VklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJV RiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElN RSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAx CnwgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAx CnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwg I2RlZmluZSBIQVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2Rl ZmluZSBOX05BTUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNk ZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVN UCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBVU0VfQUNMIDAKfCAj ZGVmaW5lIEdOVUxJQl9GU0NBTkYgMQp8ICNkZWZpbmUgR05VTElCX1NDQU5GIDEKfCAjZGVmaW5l IG15X3N0cmZ0aW1lIG5zdHJmdGltZQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8dW5pc3RkLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpbnQgcmVzdWx0ID0gMDsKfCAg ICAgICAgICAgICAgaWYgKCFzeW1saW5rICgiYSIsICJjb25mdGVzdC5saW5rLyIpKQp8ICAgICAg ICAgICAgICAgIHJlc3VsdCB8PSAxOwp8ICAgICAgICAgICAgICBpZiAoc3ltbGluayAoImNvbmZ0 ZXN0LmYiLCAiY29uZnRlc3QubG5rMiIpKQp8ICAgICAgICAgICAgICAgIHJlc3VsdCB8PSAyOwp8 ICAgICAgICAgICAgICBlbHNlIGlmICghc3ltbGluayAoImEiLCAiY29uZnRlc3QubG5rMi8iKSkK fCAgICAgICAgICAgICAgICByZXN1bHQgfD0gNDsKfCAgICAgICAgICAgICAgcmV0dXJuIHJlc3Vs dDsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI3NjA3OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToyNzY0MzogY2hlY2tpbmcgd2hldGhlciA8c3lzL3NlbGVjdC5oPiBpcyBzZWxm LWNvbnRhaW5lZApjb25maWd1cmU6Mjc3MjI6IHJlc3VsdDogbm8KY29uZmlndXJlOjI3OTM1OiBj aGVja2luZyBmb3IgbmxpbmtfdApjb25maWd1cmU6Mjc5MzU6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45 MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNzkzNTogJD8gPSAwCmNvbmZpZ3Vy ZToyNzkzNTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWcz ICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIyNDoyMjogZXJyb3I6IGV4 cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNpemVvZiAoKG5saW5rX3Qp KSkKICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjI3OTM1OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5v cmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdD X0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAx CnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0Nf T1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUg R0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT 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 RV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBv aW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JB TlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAx CnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9E IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAj ZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwg I2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUg SEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZp bmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8 ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNk ZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwg I2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVT RVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAj ZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9j XykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElT X0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05B TUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUg UFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlf TkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZ X1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVm aW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEK fCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09Q WVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Igp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdV UkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09Q VElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxU T09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRl ZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgt dG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19j dl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRl bnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1n MycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFH Uz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5E T1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAj ZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FM TE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJ R0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5W SVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5l IEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5l IEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNk ZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVG IDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwg I2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1F IDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEK fCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEK fCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAj ZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVm aW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2Rl ZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1Q IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIFVTRV9BQ0wgMAp8ICNk ZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJfU0NBTkYgMQp8ICNkZWZpbmUg bXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1h aW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKG5saW5rX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6Mjc5MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyNzk2NTogY2hlY2tpbmcgd2hldGhlciBsb2NhbHRpbWVfciBpcyBkZWNsYXJlZApjb25maWd1 cmU6Mjc5NjU6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1n MyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToyNzk2NTogJD8gPSAwCmNvbmZpZ3VyZToyNzk2NTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjI3OTg0OiBjaGVja2luZyB3aGV0aGVyIGxvY2FsdGltZV9yIGlzIGNvbXBhdGlibGUgd2l0 aCBpdHMgUE9TSVggc2lnbmF0dXJlCmNvbmZpZ3VyZToyODAwODogPFRPT0xTRElSPi9nY2MtNC44 L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4MDA4OiAkPyA9IDAKY29uZmln dXJlOjI4MDE2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjgwNjI6IGNoZWNraW5nIGZvciBsaWJy YXJ5IGNvbnRhaW5pbmcgdGltZXJfc2V0dGltZQpjb25maWd1cmU6MjgwOTM6IDxUT09MU0RJUj4v Z2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09M U0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9s aWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6Mjgw OTM6ICQ/ID0gMApjb25maWd1cmU6MjgxMTA6IHJlc3VsdDogbm9uZSByZXF1aXJlZApjb25maWd1 cmU6MjgxMjI6IGNoZWNraW5nIGZvciB0aW1lcl9zZXR0aW1lCmNvbmZpZ3VyZToyODEyMjogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAg IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZp Z3VyZToyODEyMjogJD8gPSAwCmNvbmZpZ3VyZToyODEyMjogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjI4MjM2OiBjaGVja2luZyBmb3IgdW5zZXRlbnYKY29uZmlndXJlOjI4MjM2OiA8VE9PTFNESVI+ L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMCAtZzMgICAgLUk8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEv bGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjI4 MjM2OiAkPyA9IDAKY29uZmlndXJlOjI4MjM2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjgyNDk6 IGNoZWNraW5nIGZvciB1bnNldGVudigpIHJldHVybiB0eXBlCmNvbmZpZ3VyZToyODI3NDogPFRP T0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtYyAtTzAgLWczICAgIC1JPFRPT0xT RElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4Mjc0 OiAkPyA9IDAKY29uZmlndXJlOjI4MjgxOiByZXN1bHQ6IGludApjb25maWd1cmU6MjgyOTA6IGNo ZWNraW5nIHdoZXRoZXIgdW5zZXRlbnYgb2JleXMgUE9TSVgKY29uZmlndXJlOjI4MzM1OiA8VE9P TFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMCAtZzMgICAg LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0 LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmln dXJlOjI4MzM1OiAkPyA9IDAKY29uZmlndXJlOjI4MzM1OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToy ODMzNTogJD8gPSAwCmNvbmZpZ3VyZToyODM0NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwOiBj aGVja2luZyBmb3IgZXVpZGFjY2Vzcwpjb25maWd1cmU6MTA6IDxUT09MU0RJUj4vZ2NjLTQuOC9i aW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1h Y3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1i YmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApsZDogMDcxMS0zMTcgRVJST1I6IFVu ZGVmaW5lZCBzeW1ib2w6IC5ldWlkYWNjZXNzCmxkOiAwNzExLTM0NSBVc2UgdGhlIC1ibG9hZG1h cCBvciAtYm5vcXVpZXQgb3B0aW9uIHRvIG9idGFpbiBtb3JlIGluZm9ybWF0aW9uLgpjb2xsZWN0 MjogZXJyb3I6IGxkIHJldHVybmVkIDggZXhpdCBzdGF0dXMKY29uZmlndXJlOjEwOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg ImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2Rl ZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVm aW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZF UlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhN QUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNk ZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB 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 bmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2Fy ZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8g MQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFW RV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNW RlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVF Uk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5l IEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19C VUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhB VkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJN SU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8 ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf RkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lN QVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEK fCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpF IDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VU UyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0 cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMg MQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251 bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVm aW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAn LycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllf U0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9j XykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNk ZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmlu ZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZp bmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsK fCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dP UktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZp bmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19D T05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJl Zml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2Nh bHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13 aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1u byBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gx MV9leHRlbnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9 LU8wIC1nMycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAn TERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVf WF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lE IDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUg UkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdP UkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhB VkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAj ZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hS IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9V VElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19T RVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9E VVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVO RElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jh c2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEK fCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxf CnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01L T1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIFVTRV9BQ0wg MAp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJfU0NBTkYgMQp8ICNk ZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBIQVZFX0RFQ0xfTE9DQUxUSU1F X1IgMQp8ICNkZWZpbmUgSEFWRV9USU1FUl9TRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRF TlYgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZXVpZGFjY2VzcyB0byBh biBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGV1aWRhY2Nl c3MuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRp bWVvZmRheS4gICovCnwgI2RlZmluZSBldWlkYWNjZXNzIGlubm9jdW91c19ldWlkYWNjZXNzCnwg CnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5 IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGV1aWRh Y2Nlc3MgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlm IF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4g b24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBp bmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlm CnwgCnwgI3VuZGVmIGV1aWRhY2Nlc3MKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBt aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBf X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGV1aWRhY2Nlc3MgKCk7Cnwg LyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQg aW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rp b25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBh bmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJf ZXVpZGFjY2VzcyB8fCBkZWZpbmVkIF9fc3R1Yl9fX2V1aWRhY2Nlc3MKfCBjaG9rZSBtZQp8ICNl bmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGV1aWRhY2Nlc3MgKCk7CnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMDogcmVzdWx0OiBubwpjb25maWd1cmU6Mzg6 IGNoZWNraW5nIGxpYmdlbi5oIHVzYWJpbGl0eQpjb25maWd1cmU6Mzg6IDxUT09MU0RJUj4vZ2Nj LTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLWMgLU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MS9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozODogJD8gPSAwCmNvbmZp Z3VyZTozODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM4OiBjaGVja2luZyBsaWJnZW4uaCBwcmVz ZW5jZQpjb25maWd1cmU6Mzg6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkg LUUgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZp Z3VyZTozODogJD8gPSAwCmNvbmZpZ3VyZTozODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM4OiBj aGVja2luZyBmb3IgbGliZ2VuLmgKY29uZmlndXJlOjM4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 NDk6IGNoZWNraW5nIGZvciBnZXRncm91cHMKY29uZmlndXJlOjQ5OiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1X bCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjQ5OiAkPyA9 IDAKY29uZmlndXJlOjQ5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA0OiBjaGVja2luZyBmb3Ig d29ya2luZyBnZXRncm91cHMKY29uZmlndXJlOjEzMTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9n Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0 b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxMzE6ICQ/ID0gMApjb25m aWd1cmU6MTMxOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToxMzE6ICQ/ID0gMApjb25maWd1cmU6MTQy OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY0OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWlu aW5nIGVhY2Nlc3MKY29uZmlndXJlOjE5NTogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkx L2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNv bmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5 bWJvbDogLmVhY2Nlc3MKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWll dCBvcHRpb24gdG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQg cmV0dXJuZWQgOCBleGl0IHN0YXR1cwpjb25maWd1cmU6MTk1OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO VSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1h Y3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNL X1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2Rl ZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJV Tl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhf REVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT 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 X1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0g MQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIK fCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUg TUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B U0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIg MQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1B S0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJ R04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lO RF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAx CnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFW RV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9G REFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5l IExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmlu ZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9T TlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFW RV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZp bmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUg SEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmlu ZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVM TF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5l IElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChf Y18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVD VE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8 ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lU RVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9T UFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9O QU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJ R05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVm aW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hU ICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNk ZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9O ICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMg Ii0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxM T0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtp dD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFk ZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25z X1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQ UEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEK fCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5l IEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElB TiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9E RUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVf REVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFW RV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAj ZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAj ZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVm aW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVm aW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5l IEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5f TkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBH RVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIFVTRV9BQ0wgMAp8ICNkZWZpbmUg R05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJfU0NBTkYgMQp8ICNkZWZpbmUgbXlfc3Ry ZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBIQVZFX0RFQ0xfTE9DQUxUSU1FX1IgMQp8ICNkZWZp bmUgSEFWRV9USU1FUl9TRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZp bmUgSEFWRV9MSUJHRU5fSCAxCnwgI2RlZmluZSBIQVZFX0dFVEdST1VQUyAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNo IHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVz CnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZWFjY2VzcyAoKTsKfCBpbnQKfCBtYWluICgp Cnwgewp8IHJldHVybiBlYWNjZXNzICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MTk1OiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNE SVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbGdlbiAgLWxw dGhyZWFkICA+JjUgCmNvbGxlY3QyOiBmYXRhbCBlcnJvcjogbGlicmFyeSBsaWJnZW4gbm90IGZv dW5kCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxOTU6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdu dS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgR0Nf Q0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19PVkVSUlVOIDEK fCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUgWE1BTExPQ19P VkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwgI2RlZmluZSBH TFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf 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 X1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9p bnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2Rl ZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERP V04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf U0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElU SU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEK fCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9D T1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f VU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFO VFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEK fCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmlu ZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRU SU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0Qg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZp bmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNk ZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAj ZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBI QVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmlu ZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2Rl ZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAj ZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNF Ul9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNk ZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2Nf KSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNf RElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBQ VFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVmaW5lIFBUWV9O QU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2RlZmluZSBQVFlf VFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkpOwp8ICNkZWZp bmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8 ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBDT1BZ UklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4i CnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VS QVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BU SU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1wcmVmaXg9PFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxvY2Fsc3RhdGVk aXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAtLXdpdGgteC10 b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5vIGFjX2N2 X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVu c2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFHUz0tTzAgLWcz JyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUnICdMREZMQUdT PSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRP V1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVDSUQgMQp8ICNk ZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBSRUxfQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwg I2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgV09SRFNfQklH RU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJ Uk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUg SEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2Rl ZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYg MQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUg MQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8 ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8 ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5fYmFzZQp8ICNk ZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0ggMQp8ICNkZWZp bmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVm aW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgVVNFX0FDTCAwCnwgI2Rl ZmluZSBHTlVMSUJfRlNDQU5GIDEKfCAjZGVmaW5lIEdOVUxJQl9TQ0FORiAxCnwgI2RlZmluZSBt eV9zdHJmdGltZSBuc3RyZnRpbWUKfCAjZGVmaW5lIEhBVkVfREVDTF9MT0NBTFRJTUVfUiAxCnwg I2RlZmluZSBIQVZFX1RJTUVSX1NFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwg I2RlZmluZSBIQVZFX0xJQkdFTl9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JPVVBTIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBlYWNjZXNzICgpOwp8IGludAp8IG1h aW4gKCkKfCB7CnwgcmV0dXJuIGVhY2Nlc3MgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZToyMTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjIyMzogY2hlY2tpbmcgZm9yIGVhY2Nl c3MKY29uZmlndXJlOjIyMzogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt byBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUg IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMg LWxwdGhyZWFkICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLmVh Y2Nlc3MKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24g dG8gb2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQg OCBleGl0IHN0YXR1cwpjb25maWd1cmU6MjIzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy NC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUw Igp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19C WVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19D SEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVmaW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAx CnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1QgMQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8 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 TSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf TE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNk ZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8 ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNk ZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxU SU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElN RV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRF X1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJT QU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NL RVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFS ICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3 LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklD RV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJ UkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAg KF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUg REVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBp bnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0 cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklO VEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAoZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklB X0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf X1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmln aHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVS TV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBj LWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4 PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3Mt MjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRF RElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAt LWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4 dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1h X2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAt STxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5l IFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNFX0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDEx IDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRP VU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdF VEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NM T0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdO VUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVf QUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJ TkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBmcC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElC UEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElTVF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lO VEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZE QVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIFVTRV9BQ0wgMAp8ICNkZWZpbmUgR05VTElCX0ZT Q0FORiAxCnwgI2RlZmluZSBHTlVMSUJfU0NBTkYgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0 cmZ0aW1lCnwgI2RlZmluZSBIQVZFX0RFQ0xfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9U SU1FUl9TRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9M SUJHRU5fSCAxCnwgI2RlZmluZSBIQVZFX0dFVEdST1VQUyAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IC8qIERlZmluZSBlYWNjZXNzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl IDxsaW1pdHMuaD4gZGVjbGFyZXMgZWFjY2Vzcy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFp IDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGVhY2Nlc3Mg aW5ub2N1b3VzX2VhY2Nlc3MKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25m bGljdCB3aXRoIGNoYXIgZWFjY2VzcyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+ IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0 cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZk ZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxh c3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZWFjY2Vzcwp8IAp8IC8qIE92ZXJyaWRlIGFu eSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFy IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1 aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g ICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZWFj Y2VzcyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9u cyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAg U29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGlu ZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZp bmVkIF9fc3R1Yl9lYWNjZXNzIHx8IGRlZmluZWQgX19zdHViX19fZWFjY2Vzcwp8IGNob2tlIG1l CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZWFjY2VzcyAoKTsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyMzogcmVzdWx0OiBubwpjb25maWd1cmU6 ODogY2hlY2tpbmcgZm9yIGdyb3VwX21lbWJlcgpjb25maWd1cmU6ODogPFRPT0xTRElSPi9nY2Mt NC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAt V2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmxkOiAwNzExLTMxNyBFUlJP UjogVW5kZWZpbmVkIHN5bWJvbDogLmdyb3VwX21lbWJlcgpsZDogMDcxMS0zNDUgVXNlIHRoZSAt YmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4K Y29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo4OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRw Oi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3Mi CnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgRU5BQkxFX0NIRUNLSU5HIDEK fCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19CWVRFUyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJ TkdfT1ZFUlJVTiAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdfRlJFRV9MSVNUIDEKfCAjZGVm aW5lIFhNQUxMT0NfT1ZFUlJVTl9DSEVDSyAxCnwgI2RlZmluZSBHQ19DSEVDS19DT05TX0xJU1Qg MQp8ICNkZWZpbmUgR0xZUEhfREVCVUcgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm 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 bmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVN QkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4 TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1gxMVhUUjYgMQp8 ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxi YWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX0hf RVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NU TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJS RU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JB TkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZp bmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFW RV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUg SEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1M SU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFC TEVTSVpFIDEKfCAjZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCnwgI2RlZmluZSBIQVZFX0lORVRf U09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg MQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVT RVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIg X19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZF X1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIv ZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEK fCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZ X1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJF Q1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllf U0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBCUk9LRU5fR0VUX0NV UlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNw Igp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgYzsgZm9yIChjID0gMDsgIWMgOyBjKyspCnwg I2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIvZGV2L3B0YyIpOwp8 ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgdHR5bmFtZSAo ZmQpKTsKfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VU Sk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8 ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInh0ZXJtLmgiCnwgI2RlZmluZSBF TUFDU19DT05GSUdVUkFUSU9OICJwb3dlcnBjLWlibS1haXg2LjEuMC4wIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4 ZWMtcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4g LS1sb2NhbHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9 bm8gLS13aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NP TkZJRz1ubyBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVh ZGVyX1gxMV9leHRlbnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdD RkxBR1M9LU8wIC1nMycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNs dWRlJyAnTERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKfCAjZGVmaW5l IEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIFVTRV9YX1RPT0xLSVQgMQp8ICNkZWZpbmUgVVNF X0xVQ0lEIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNk ZWZpbmUgUkVMX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVm aW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9N RU1SQ0hSIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NF VF9UIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5T RVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9D TE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUg SEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUND RVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJf RkRPUEVORElSIDEKfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX05fQllURVMgZnAtPl9wdHIgLSBm cC0+X2Jhc2UKfCAjZGVmaW5lIEhBVkVfTElCUEVSRlNUQVQgMQp8ICNkZWZpbmUgSEFWRV9OTElT VF9IIDEKfCAjZGVmaW5lIE5fTkFNRV9QT0lOVEVSIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJ WCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgR05V TElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fUFVURU5WIDAKfCAjZGVmaW5lIFVT RV9BQ0wgMAp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJfU0NBTkYg MQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBIQVZFX0RFQ0xfTE9D QUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9USU1FUl9TRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVf VU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9MSUJHRU5fSCAxCnwgI2RlZmluZSBIQVZFX0dFVEdS T1VQUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBncm91cF9tZW1iZXIg dG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBncm91 cF9tZW1iZXIuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVz IGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBncm91cF9tZW1iZXIgaW5ub2N1b3VzX2dyb3Vw X21lbWJlcgp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5k IGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGgg Y2hhciBncm91cF9tZW1iZXIgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8 YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4g ZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9f U1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0 Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGdyb3VwX21lbWJlcgp8IAp8IC8qIE92ZXJyaWRlIGFu eSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFy IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1 aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g ICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ3Jv dXBfbWVtYmVyICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9T WVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lm IGRlZmluZWQgX19zdHViX2dyb3VwX21lbWJlciB8fCBkZWZpbmVkIF9fc3R1Yl9fX2dyb3VwX21l bWJlcgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4g Z3JvdXBfbWVtYmVyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6ODogcmVz dWx0OiBubwpjb25maWd1cmU6ODogY2hlY2tpbmcgZm9yIGdldGdyb3Vwcwpjb25maWd1cmU6ODog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjYzOiBjaGVja2luZyBmb3Igd29ya2luZyBnZXRncm91cHMK Y29uZmlndXJlOjEwMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyOTogY2hlY2tpbmcgd2hldGhl ciBnZXRncm91cHMgaGFuZGxlcyBuZWdhdGl2ZSB2YWx1ZXMKY29uZmlndXJlOjE1NjogPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtTzAgLWczICAgIC1J PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUgIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4z LjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3Vy ZToxNTY6ICQ/ID0gMApjb25maWd1cmU6MTU2OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToxNTY6ICQ/ ID0gMApjb25maWd1cmU6MTY2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjogY2hlY2tpbmcgd2hl dGhlciBzdGF0IGhhbmRsZXMgdHJhaWxpbmcgc2xhc2hlcyBvbiBkaXJlY3Rvcmllcwpjb25maWd1 cmU6Mjk6IDxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg LU8wIC1nMyAgICAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlICAtTDxUT09MU0RJ Uj4vZW1hY3MtMjQuMy45MS9saWIgLVdsLC1iYmlndG9jICBjb25mdGVzdC5jIC1scHRocmVhZCAg PiY1IApjb25maWd1cmU6Mjk6ICQ/ID0gMApjb25maWd1cmU6Mjk6IC4vY29uZnRlc3QKY29uZmln dXJlOjI5OiAkPyA9IDAKY29uZmlndXJlOjM5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDE6IGNo ZWNraW5nIHdoZXRoZXIgc3RhdCBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoZXMgb24gZmlsZXMKY29u ZmlndXJlOjgxOiA8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9P TFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJl YWQgID4mNSAKY29uZmlndXJlOjgxOiAkPyA9IDAKY29uZmlndXJlOjgxOiAuL2NvbmZ0ZXN0CmNv bmZpZ3VyZTo4MTogJD8gPSAzCmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMg Mwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93 d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBFTkFCTEVfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19P VkVSUlVOIDEKfCAjZGVmaW5lIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgMQp8ICNkZWZpbmUg WE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKfCAjZGVmaW5lIEdDX0NIRUNLX0NPTlNfTElTVCAxCnwg I2RlZmluZSBHTFlQSF9ERUJVRyAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg 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 ZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tf YXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJO TyAxCnwgI2RlZmluZSBNQUlMX1VTRV9MT0NLRiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRF Uk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZF X1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFW RV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRP SU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJ WkUgMQp8ICNkZWZpbmUgTE9DQUxUSU1FX0NBQ0hFIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NL RVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAx CnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jl c3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZ UyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYv bnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNk ZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQ ICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9S WV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAo X2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEJST0tFTl9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAwOyAhYyA7IGMrKykKfCAjZGVm aW5lIFBUWV9OQU1FX1NQUklOVEYgc3RyY3B5IChwdHlfbmFtZSwgIi9kZXYvcHRjIik7CnwgI2Rl ZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiBzdHJjcHkgKHB0eV9uYW1lLCB0dHluYW1lIChmZCkp Owp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBf V09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAieHRlcm0uaCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCnwgI2RlZmluZSBFTUFDU19D T05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tZXhlYy1w cmVmaXg9PFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxIC0tc3lzY29uZmRpcj08RVRDRElSPiAtLWxv Y2Fsc3RhdGVkaXI9PExPQ0FMU1RBVEVESVI+IC0td2l0aG91dC1hbGwgLS13aXRoLXhmdD1ubyAt LXdpdGgteC10b29sa2l0PWx1Y2lkIC0tZGlzYWJsZS1hY2wgYWNfY3ZfcGF0aF9QS0dfQ09ORklH PW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubyBhY19jdl9oZWFkZXJf WDExX2V4dGVuc2lvbnNfWGluZXJhbWFfaD1ubyAtLWVuYWJsZS1jaGVja2luZz1hbGwgJ0NGTEFH Uz0tTzAgLWczJyAnQ1BQRkxBR1M9IC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUn ICdMREZMQUdTPSAtTDxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9saWInIgp8ICNkZWZpbmUgSEFW RV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCnwgI2RlZmluZSBVU0VfTFVD SUQgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmlu ZSBSRUxfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg V09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUg SEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8 ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJD SFIgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1Qg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVO ViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NL X1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZF X0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NB VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9Q RU5ESVIgMQp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfTl9CWVRFUyBmcC0+X3B0ciAtIGZwLT5f YmFzZQp8ICNkZWZpbmUgSEFWRV9MSUJQRVJGU1RBVCAxCnwgI2RlZmluZSBIQVZFX05MSVNUX0gg MQp8ICNkZWZpbmUgTl9OQU1FX1BPSU5URVIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBHTlVMSUJf TUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYgMAp8ICNkZWZpbmUgVVNFX0FD TCAwCnwgI2RlZmluZSBHTlVMSUJfRlNDQU5GIDEKfCAjZGVmaW5lIEdOVUxJQl9TQ0FORiAxCnwg I2RlZmluZSBteV9zdHJmdGltZSBuc3RyZnRpbWUKfCAjZGVmaW5lIEhBVkVfREVDTF9MT0NBTFRJ TUVfUiAxCnwgI2RlZmluZSBIQVZFX1RJTUVSX1NFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9VTlNF VEVOViAxCnwgI2RlZmluZSBIQVZFX0xJQkdFTl9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JPVVBT IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JPVVBTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpbnQgcmVzdWx0 ID0gMDsKfCAgICAgICBzdHJ1Y3Qgc3RhdCBzdDsKfCAgICAgICBpZiAoIXN0YXQgKCJjb25mdGVz dC50bXAvIiwgJnN0KSkKfCAgICAgICAgIHJlc3VsdCB8PSAxOwp8ICNpZiBIQVZFX0xTVEFUCnwg ICAgICAgaWYgKCFzdGF0ICgiY29uZnRlc3QubG5rLyIsICZzdCkpCnwgICAgICAgICByZXN1bHQg fD0gMjsKfCAjZW5kaWYKfCAgICAgICByZXR1cm4gcmVzdWx0Owp8IAp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6OTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjExOiBjaGVja2luZyB3 aGV0aGVyIGdldGR0YWJsZXNpemUgd29ya3MKY29uZmlndXJlOjQwOiA8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMCAtZzMgICAgLUk8VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEvaW5jbHVkZSAgLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1X bCwtYmJpZ3RvYyAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjQwOiAkPyA9 IDAKY29uZmlndXJlOjQwOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo0MDogJD8gPSAwCmNvbmZpZ3Vy ZTo1MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2OiBjaGVja2luZyBmb3IgX19zZWN1cmVfZ2V0 ZW52CmNvbmZpZ3VyZToyNjogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt byBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUg IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMg LWxwdGhyZWFkICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLl9f c2VjdXJlX2dldGVudgpsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0 IG9wdGlvbiB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCBy ZXR1cm5lZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToyNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg RW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNz QGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3 YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuNC41MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19T VFJJTkdfQllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZp bmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5f Q0hFQ0sgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RF QlVHIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9MQVJH RV9GSUxFUyAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgImFpeCIKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05B TUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwg I2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09V UkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVm aW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9Y MTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEK fCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwg I2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1B SUxfVVNFX0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwg I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEK fCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9H RVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtF UkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdO IDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8 ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZp bmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVf RkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRB WSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBM T0NBTFRJTUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf TUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5l IEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhB VkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUg U0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExf TkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJ U19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2Nf KSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RP UllfU0VQIChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVS QVRJT04gaW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BS SU5URiBzdHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFN RV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdO QUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmlu ZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAi Q29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVm aW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAi cG93ZXJwYy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIt LXByZWZpeD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+ L2VtYWNzLTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9D QUxTVEFURURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9 bHVjaWQgLS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVy X1gxMV9leHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19Y aW5lcmFtYV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBG TEFHUz0gLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRP T0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwg I2RlZmluZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBI QVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5l IEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4g MQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVD TCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJNT0RFIDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2Rl ZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2Rl ZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmlu ZSBIQVZFX0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmlu ZSBQRU5ESU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBI QVZFX0xJQlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05B TUVfUE9JTlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VU VElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBVU0VfQUNMIDAKfCAjZGVmaW5lIEdO VUxJQl9GU0NBTkYgMQp8ICNkZWZpbmUgR05VTElCX1NDQU5GIDEKfCAjZGVmaW5lIG15X3N0cmZ0 aW1lIG5zdHJmdGltZQp8ICNkZWZpbmUgSEFWRV9ERUNMX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5l IEhBVkVfVElNRVJfU0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5l IEhBVkVfTElCR0VOX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRHUk9VUFMgMQp8ICNkZWZpbmUgSEFW RV9HRVRHUk9VUFMgMQp8ICNkZWZpbmUgUkVQTEFDRV9GVU5DX1NUQVRfRklMRSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBfX3NlY3VyZV9nZXRlbnYgdG8gYW4gaW5ub2N1 b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBfX3NlY3VyZV9nZXRlbnYu CnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVv ZmRheS4gICovCnwgI2RlZmluZSBfX3NlY3VyZV9nZXRlbnYgaW5ub2N1b3VzX19fc2VjdXJlX2dl dGVudgp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhv cGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hh ciBfX3NlY3VyZV9nZXRlbnYgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8 YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4g ZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9f U1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0 Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIF9fc2VjdXJlX2dldGVudgp8IAp8IC8qIE92ZXJyaWRl IGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs eS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIg X19zZWN1cmVfZ2V0ZW52ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBm b3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0 aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRo aW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICov CnwgI2lmIGRlZmluZWQgX19zdHViX19fc2VjdXJlX2dldGVudiB8fCBkZWZpbmVkIF9fc3R1Yl9f X19fc2VjdXJlX2dldGVudgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8 IHsKfCByZXR1cm4gX19zZWN1cmVfZ2V0ZW52ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjM4OiBjaGVja2luZyBmb3IgaXNzZXR1 Z2lkCmNvbmZpZ3VyZTozODogPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OSAt byBjb25mdGVzdCAtTzAgLWczICAgIC1JPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2luY2x1ZGUg IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIGNvbmZ0ZXN0LmMg LWxwdGhyZWFkICA+JjUgCmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLmlz c2V0dWdpZApsZDogMDcxMS0zNDUgVXNlIHRoZSAtYmxvYWRtYXAgb3IgLWJub3F1aWV0IG9wdGlv biB0byBvYnRhaW4gbW9yZSBpbmZvcm1hdGlvbi4KY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5l ZCA4IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTozODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V IEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3Mg MjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41 MCIKfCAjZGVmaW5lIEVOQUJMRV9DSEVDS0lORyAxCnwgI2RlZmluZSBHQ19DSEVDS19TVFJJTkdf QllURVMgMQp8ICNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX09WRVJSVU4gMQp8ICNkZWZpbmUgR0Nf Q0hFQ0tfU1RSSU5HX0ZSRUVfTElTVCAxCnwgI2RlZmluZSBYTUFMTE9DX09WRVJSVU5fQ0hFQ0sg MQp8ICNkZWZpbmUgR0NfQ0hFQ0tfQ09OU19MSVNUIDEKfCAjZGVmaW5lIEdMWVBIX0RFQlVHIDEK 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 SU0gMQp8ICNkZWZpbmUgSEFWRV9YMTFYVFI2IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmlu ZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNF X0xPQ0tGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRS VVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBI QVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEK fCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAj ZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAx CnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZp bmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFW RV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwg MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM VElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBMT0NBTFRJ TUVfQ0FDSEUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9G T1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFU RV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVS U0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hB UiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBE SVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pKQp8ICNkZWZpbmUgQlJPS0VOX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04g aW50IGM7IGZvciAoYyA9IDA7ICFjIDsgYysrKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiBz dHJjcHkgKHB0eV9uYW1lLCAiL2Rldi9wdGMiKTsKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJ TlRGIHN0cmNweSAocHR5X25hbWUsIHR0eW5hbWUgKGZkKSk7CnwgI2RlZmluZSBTSUdOQUxTX1ZJ QV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJp Z2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJ4dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAicG93ZXJw Yy1pYm0tYWl4Ni4xLjAuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZp eD08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEgLS1leGVjLXByZWZpeD08VE9PTFNESVI+L2VtYWNz LTI0LjMuOTEgLS1zeXNjb25mZGlyPTxFVENESVI+IC0tbG9jYWxzdGF0ZWRpcj08TE9DQUxTVEFU RURJUj4gLS13aXRob3V0LWFsbCAtLXdpdGgteGZ0PW5vIC0td2l0aC14LXRvb2xraXQ9bHVjaWQg LS1kaXNhYmxlLWFjbCBhY19jdl9wYXRoX1BLR19DT05GSUc9bm8gYWNfY3ZfaGVhZGVyX1gxMV9l eHRlbnNpb25zX1hyYW5kcl9oPW5vIGFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5lcmFt YV9oPW5vIC0tZW5hYmxlLWNoZWNraW5nPWFsbCAnQ0ZMQUdTPS1PMCAtZzMnICdDUFBGTEFHUz0g LUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScgJ0xERkxBR1M9IC1MPFRPT0xTRElS Pi9lbWFjcy0yNC4zLjkxL2xpYiciCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmlu ZSBVU0VfWF9UT09MS0lUIDEKfCAjZGVmaW5lIFVTRV9MVUNJRCAxCnwgI2RlZmluZSBIQVZFX1gx MSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIFJFTF9BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNk ZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RF IDAKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VU RU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJU T1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBH RVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9D TE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBH TlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZF X0FDQ0VTUyAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBQRU5E SU5HX09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCnwgI2RlZmluZSBIQVZFX0xJ QlBFUkZTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTkxJU1RfSCAxCnwgI2RlZmluZSBOX05BTUVfUE9J TlRFUiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9G REFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfX1BVVEVOViAwCnwgI2RlZmluZSBVU0VfQUNMIDAKfCAjZGVmaW5lIEdOVUxJQl9G U0NBTkYgMQp8ICNkZWZpbmUgR05VTElCX1NDQU5GIDEKfCAjZGVmaW5lIG15X3N0cmZ0aW1lIG5z dHJmdGltZQp8ICNkZWZpbmUgSEFWRV9ERUNMX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVf VElNRVJfU0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVf TElCR0VOX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRHUk9VUFMgMQp8ICNkZWZpbmUgSEFWRV9HRVRH Uk9VUFMgMQp8ICNkZWZpbmUgUkVQTEFDRV9GVU5DX1NUQVRfRklMRSAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8IC8qIERlZmluZSBpc3NldHVnaWQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQs IGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBpc3NldHVnaWQuCnwgICAgRm9yIGV4YW1wbGUs IEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmlu ZSBpc3NldHVnaWQgaW5ub2N1b3VzX2lzc2V0dWdpZAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8g ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAg d2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBpc3NldHVnaWQgKCk7IGJlbG93Lgp8ICAgICBQ cmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNp bmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVy cy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxz ZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGlzc2V0dWdpZAp8 IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy cm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw ZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3 b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8 ICNlbmRpZgp8IGNoYXIgaXNzZXR1Z2lkICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmlu ZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlz IGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAg ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBh bGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2lzc2V0dWdpZCB8fCBkZWZpbmVkIF9fc3R1 Yl9fX2lzc2V0dWdpZAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCByZXR1cm4gaXNzZXR1Z2lkICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 Mzg6IHJlc3VsdDogbm8KY29uZmlndXJlOjMwMDM1OiBjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUKY29uZmlndXJlOjMwMDQxOiByZXN1bHQ6IGRv bmUKY29uZmlndXJlOjMwMTk3OiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKCiMjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0gIyMKIyMgUnVubmluZyBjb25maWcuc3RhdHVzLiAjIwojIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tICMjCgpUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IEdOVSBFbWFjcyBj b25maWcuc3RhdHVzIDI0LjQuNTAsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25m IDIuNjkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAgID0g CiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NPTU1B TkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgCgpvbiBheDMwMDAxCgpjb25maWcuc3RhdHVzOjE5 NTI6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTk1MjogY3JlYXRpbmcgbGliL01h a2VmaWxlCmNvbmZpZy5zdGF0dXM6MTk1MjogY3JlYXRpbmcgbGliLXNyYy9NYWtlZmlsZQpjb25m aWcuc3RhdHVzOjE5NTI6IGNyZWF0aW5nIG9sZFhNZW51L01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6 MTk1MjogY3JlYXRpbmcgZG9jL2VtYWNzL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTk1MjogY3Jl YXRpbmcgZG9jL21pc2MvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxOTUyOiBjcmVhdGluZyBkb2Mv bGlzcGludHJvL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTk1MjogY3JlYXRpbmcgZG9jL2xpc3By ZWYvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxOTUyOiBjcmVhdGluZyBzcmMvTWFrZWZpbGUKY29u ZmlnLnN0YXR1czoxOTUyOiBjcmVhdGluZyBsd2xpYi9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE5 NTI6IGNyZWF0aW5nIGxpc3AvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxOTUyOiBjcmVhdGluZyBs ZWltL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTk1MjogY3JlYXRpbmcgbmV4dHN0ZXAvTWFrZWZp bGUKY29uZmlnLnN0YXR1czoxOTUyOiBjcmVhdGluZyBudC9NYWtlZmlsZQpjb25maWcuc3RhdHVz OjE5NTI6IGNyZWF0aW5nIHRlc3QvYXV0b21hdGVkL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTk1 MjogY3JlYXRpbmcgYWRtaW4vdW5pZGF0YS9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE5NTI6IGNy ZWF0aW5nIGFkbWluL2dyYW1tYXJzL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTk1MjogY3JlYXRp bmcgc3JjL2NvbmZpZy5oCmNvbmZpZy5zdGF0dXM6MjE4NjogZXhlY3V0aW5nIGRlcGZpbGVzIGNv bW1hbmRzCmNvbmZpZy5zdGF0dXM6MjE4NjogZXhlY3V0aW5nIHNyYy9lcGF0aHMuaCBjb21tYW5k cwpjb25maWcuc3RhdHVzOjIxODY6IGV4ZWN1dGluZyBzcmMvLmdkYmluaXQgY29tbWFuZHMKCiMj IC0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgQ2FjaGUgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0t LS0tLS0tICMjCgphY19jdl9idWlsZD1wb3dlcnBjLWlibS1haXg2LjEuMC4wCmFjX2N2X2NfYmln ZW5kaWFuPXllcwphY19jdl9jX2NvbXBpbGVyX2dudT15ZXMKYWNfY3ZfY19yZXN0cmljdD1fX3Jl c3RyaWN0CmFjX2N2X2Vudl9BTFNBX0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0FMU0FfQ0ZMQUdT X3ZhbHVlPScnCmFjX2N2X2Vudl9BTFNBX0xJQlNfc2V0PScnCmFjX2N2X2Vudl9BTFNBX0xJQlNf dmFsdWU9JycKYWNfY3ZfZW52X0NDX3NldD1zZXQKYWNfY3ZfZW52X0NDX3ZhbHVlPTxUT09MU0RJ Uj4vZ2NjLTQuOC9iaW4vZ2NjCmFjX2N2X2Vudl9DRkxBR1Nfc2V0PXNldAphY19jdl9lbnZfQ0ZM QUdTX3ZhbHVlPSctTzAgLWczJwphY19jdl9lbnZfQ1BQRkxBR1Nfc2V0PXNldAphY19jdl9lbnZf Q1BQRkxBR1NfdmFsdWU9JyAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJwphY19j dl9lbnZfQ1BQX3NldD0nJwphY19jdl9lbnZfQ1BQX3ZhbHVlPScnCmFjX2N2X2Vudl9EQlVTX0NG TEFHU19zZXQ9JycKYWNfY3ZfZW52X0RCVVNfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9EQlVT X0xJQlNfc2V0PScnCmFjX2N2X2Vudl9EQlVTX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X0ZPTlRD T05GSUdfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfRk9OVENPTkZJR19DRkxBR1NfdmFsdWU9JycK YWNfY3ZfZW52X0ZPTlRDT05GSUdfTElCU19zZXQ9JycKYWNfY3ZfZW52X0ZPTlRDT05GSUdfTElC U192YWx1ZT0nJwphY19jdl9lbnZfRlJFRVRZUEVfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfRlJF RVRZUEVfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9GUkVFVFlQRV9MSUJTX3NldD0nJwphY19j dl9lbnZfRlJFRVRZUEVfTElCU192YWx1ZT0nJwphY19jdl9lbnZfR0NPTkZfQ0ZMQUdTX3NldD0n JwphY19jdl9lbnZfR0NPTkZfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9HQ09ORl9MSUJTX3Nl dD0nJwphY19jdl9lbnZfR0NPTkZfTElCU192YWx1ZT0nJwphY19jdl9lbnZfR0ZJTEVOT1RJRllf Q0ZMQUdTX3NldD0nJwphY19jdl9lbnZfR0ZJTEVOT1RJRllfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2 X2Vudl9HRklMRU5PVElGWV9MSUJTX3NldD0nJwphY19jdl9lbnZfR0ZJTEVOT1RJRllfTElCU192 YWx1ZT0nJwphY19jdl9lbnZfR09CSkVDVF9DRkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9HT0JKRUNU X0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfR09CSkVDVF9MSUJTX3NldD0nJwphY19jdl9lbnZf R09CSkVDVF9MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9HU0VUVElOR1NfQ0ZMQUdTX3NldD0nJwph Y19jdl9lbnZfR1NFVFRJTkdTX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfR1NFVFRJTkdTX0xJ QlNfc2V0PScnCmFjX2N2X2Vudl9HU0VUVElOR1NfTElCU192YWx1ZT0nJwphY19jdl9lbnZfR1RL X0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0dUS19DRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0dU S19MSUJTX3NldD0nJwphY19jdl9lbnZfR1RLX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X0lNQUdF TUFHSUNLX0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0lNQUdFTUFHSUNLX0NGTEFHU192YWx1ZT0n JwphY19jdl9lbnZfSU1BR0VNQUdJQ0tfTElCU19zZXQ9JycKYWNfY3ZfZW52X0lNQUdFTUFHSUNL X0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X0xERkxBR1Nfc2V0PXNldAphY19jdl9lbnZfTERGTEFH U192YWx1ZT0nIC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYicKYWNfY3ZfZW52X0xJQkdO VVRMU19DRkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9MSUJHTlVUTFNfQ0ZMQUdTX3ZhbHVlPScnCmFj X2N2X2Vudl9MSUJHTlVUTFNfTElCU19zZXQ9JycKYWNfY3ZfZW52X0xJQkdOVVRMU19MSUJTX3Zh bHVlPScnCmFjX2N2X2Vudl9MSUJPVEZfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfTElCT1RGX0NG TEFHU192YWx1ZT0nJwphY19jdl9lbnZfTElCT1RGX0xJQlNfc2V0PScnCmFjX2N2X2Vudl9MSUJP VEZfTElCU192YWx1ZT0nJwphY19jdl9lbnZfTElCU19zZXQ9JycKYWNfY3ZfZW52X0xJQlNfdmFs dWU9JycKYWNfY3ZfZW52X0xJQlhNTDJfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfTElCWE1MMl9D RkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0xJQlhNTDJfTElCU19zZXQ9JycKYWNfY3ZfZW52X0xJ QlhNTDJfTElCU192YWx1ZT0nJwphY19jdl9lbnZfTTE3Tl9GTFRfQ0ZMQUdTX3NldD0nJwphY19j dl9lbnZfTTE3Tl9GTFRfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9NMTdOX0ZMVF9MSUJTX3Nl dD0nJwphY19jdl9lbnZfTTE3Tl9GTFRfTElCU192YWx1ZT0nJwphY19jdl9lbnZfUEtHX0NPTkZJ R19MSUJESVJfc2V0PScnCmFjX2N2X2Vudl9QS0dfQ09ORklHX0xJQkRJUl92YWx1ZT0nJwphY19j dl9lbnZfUEtHX0NPTkZJR19QQVRIX3NldD1zZXQKYWNfY3ZfZW52X1BLR19DT05GSUdfUEFUSF92 YWx1ZT08VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvc2hhcmUvcGtnY29uZmlnOjxUT09MU0RJUj4v ZW1hY3MtMjQuMy45MS9saWIvcGtnY29uZmlnCmFjX2N2X2Vudl9QS0dfQ09ORklHX3NldD0nJwph Y19jdl9lbnZfUEtHX0NPTkZJR192YWx1ZT0nJwphY19jdl9lbnZfUlNWR19DRkxBR1Nfc2V0PScn CmFjX2N2X2Vudl9SU1ZHX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfUlNWR19MSUJTX3NldD0n JwphY19jdl9lbnZfUlNWR19MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9YRklYRVNfQ0ZMQUdTX3Nl dD0nJwphY19jdl9lbnZfWEZJWEVTX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfWEZJWEVTX0xJ QlNfc2V0PScnCmFjX2N2X2Vudl9YRklYRVNfTElCU192YWx1ZT0nJwphY19jdl9lbnZfWEZUX0NG TEFHU19zZXQ9JycKYWNfY3ZfZW52X1hGVF9DRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X1hGVF9M SUJTX3NldD0nJwphY19jdl9lbnZfWEZUX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X1hJTkVSQU1B X0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X1hJTkVSQU1BX0NGTEFHU192YWx1ZT0nJwphY19jdl9l bnZfWElORVJBTUFfTElCU19zZXQ9JycKYWNfY3ZfZW52X1hJTkVSQU1BX0xJQlNfdmFsdWU9JycK YWNfY3ZfZW52X1hNS01GX3NldD0nJwphY19jdl9lbnZfWE1LTUZfdmFsdWU9JycKYWNfY3ZfZW52 X1hSQU5EUl9DRkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9YUkFORFJfQ0ZMQUdTX3ZhbHVlPScnCmFj X2N2X2Vudl9YUkFORFJfTElCU19zZXQ9JycKYWNfY3ZfZW52X1hSQU5EUl9MSUJTX3ZhbHVlPScn CmFjX2N2X2Vudl9idWlsZF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVl PScnCmFjX2N2X2Vudl9ob3N0X2FsaWFzX3NldD0nJwphY19jdl9lbnZfaG9zdF9hbGlhc192YWx1 ZT0nJwphY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0nJwphY19jdl9lbnZfdGFyZ2V0X2FsaWFz X3ZhbHVlPScnCmFjX2N2X2Z1bmNfWFNjcmVlbk51bWJlck9mU2NyZWVuPXllcwphY19jdl9mdW5j X1hTY3JlZW5SZXNvdXJjZVN0cmluZz15ZXMKYWNfY3ZfZnVuY19Ycm1TZXREYXRhYmFzZT15ZXMK YWNfY3ZfZnVuY19fX2V4ZWN1dGFibGVfc3RhcnQ9bm8KYWNfY3ZfZnVuY19fX3NlY3VyZV9nZXRl bnY9bm8KYWNfY3ZfZnVuY19hY2NlcHQ0PW5vCmFjX2N2X2Z1bmNfYWNjZXNzPXllcwphY19jdl9m dW5jX2FsbG9jYV93b3Jrcz15ZXMKYWNfY3ZfZnVuY19jZm1ha2VyYXc9eWVzCmFjX2N2X2Z1bmNf Y2ZzZXRzcGVlZD15ZXMKYWNfY3ZfZnVuY19jbG9ja19nZXR0aW1lPXllcwphY19jdl9mdW5jX2Ns b2NrX3NldHRpbWU9eWVzCmFjX2N2X2Z1bmNfY29weXNpZ249eWVzCmFjX2N2X2Z1bmNfZWFjY2Vz cz1ubwphY19jdl9mdW5jX2VuZGdyZW50PXllcwphY19jdl9mdW5jX2VuZHB3ZW50PXllcwphY19j dl9mdW5jX2V1aWRhY2Nlc3M9bm8KYWNfY3ZfZnVuY19mYWNjZXNzYXQ9bm8KYWNfY3ZfZnVuY19m Y2htb2Q9eWVzCmFjX2N2X2Z1bmNfZmNudGw9eWVzCmFjX2N2X2Z1bmNfZmRvcGVuZGlyPW5vCmFj X2N2X2Z1bmNfZm9yaz15ZXMKYWNfY3ZfZnVuY19mb3JrX3dvcmtzPXllcwphY19jdl9mdW5jX2Zy ZWVpZmFkZHJzPW5vCmFjX2N2X2Z1bmNfZnN0YXRhdD1ubwphY19jdl9mdW5jX2ZzeW5jPXllcwph Y19jdl9mdW5jX2Z1dGltZW5zPW5vCmFjX2N2X2Z1bmNfZnV0aW1lcz1ubwphY19jdl9mdW5jX2Z1 dGltZXNhdD1ubwphY19jdl9mdW5jX2dhaV9zdHJlcnJvcj15ZXMKYWNfY3ZfZnVuY19nZXRfY3Vy cmVudF9kaXJfbmFtZT15ZXMKYWNfY3ZfZnVuY19nZXRhZGRyaW5mbz15ZXMKYWNfY3ZfZnVuY19n ZXRkdGFibGVzaXplPXllcwphY19jdl9mdW5jX2dldGdyZW50PXllcwphY19jdl9mdW5jX2dldGdy b3Vwcz15ZXMKYWNfY3ZfZnVuY19nZXRncm91cHNfd29ya3M9eWVzCmFjX2N2X2Z1bmNfZ2V0aG9z dG5hbWU9eWVzCmFjX2N2X2Z1bmNfZ2V0aWZhZGRycz1ubwphY19jdl9mdW5jX2dldGxvYWRhdmc9 bm8KYWNfY3ZfZnVuY19nZXRwYWdlc2l6ZT15ZXMKYWNfY3ZfZnVuY19nZXRwZWVybmFtZT15ZXMK YWNfY3ZfZnVuY19nZXRwdD1ubwphY19jdl9mdW5jX2dldHB3ZW50PXllcwphY19jdl9mdW5jX2dl dHJsaW1pdD15ZXMKYWNfY3ZfZnVuY19nZXRydXNhZ2U9eWVzCmFjX2N2X2Z1bmNfZ2V0c29ja25h bWU9eWVzCmFjX2N2X2Z1bmNfZ2V0dGltZW9mZGF5PXllcwphY19jdl9mdW5jX2dyYW50cHQ9eWVz CmFjX2N2X2Z1bmNfZ3JvdXBfbWVtYmVyPW5vCmFjX2N2X2Z1bmNfaXNzZXR1Z2lkPW5vCmFjX2N2 X2Z1bmNfbG9jYWx0aW1lX3I9eWVzCmFjX2N2X2Z1bmNfbG9nMj15ZXMKYWNfY3ZfZnVuY19scmFu ZDQ4PXllcwphY19jdl9mdW5jX2xzdGF0PXllcwphY19jdl9mdW5jX2x1dGltZXM9bm8KYWNfY3Zf ZnVuY19tZW1yY2hyPW5vCmFjX2N2X2Z1bmNfbWtvc3RlbXA9bm8KYWNfY3ZfZnVuY19tbWFwX2Zp eGVkX21hcHBlZD15ZXMKYWNfY3ZfZnVuY19uYW5vdGltZT1ubwphY19jdl9mdW5jX3BpcGUyPW5v CmFjX2N2X2Z1bmNfcG9zaXhfb3BlbnB0PXllcwphY19jdl9mdW5jX3BzZWxlY3Q9eWVzCmFjX2N2 X2Z1bmNfcHRocmVhZF9zaWdtYXNrPXllcwphY19jdl9mdW5jX3JhbmRvbT15ZXMKYWNfY3ZfZnVu Y19yZWFkbGluaz15ZXMKYWNfY3ZfZnVuY19yZWFkbGlua2F0PW5vCmFjX2N2X2Z1bmNfcmVjdmZy b209eWVzCmFjX2N2X2Z1bmNfcmludD15ZXMKYWNfY3ZfZnVuY19zZWN1cmVfZ2V0ZW52PW5vCmFj X2N2X2Z1bmNfc2VsZWN0PXllcwphY19jdl9mdW5jX3NlbmR0bz15ZXMKYWNfY3ZfZnVuY19zZXRp dGltZXI9eWVzCmFjX2N2X2Z1bmNfc2V0bG9jYWxlPXllcwphY19jdl9mdW5jX3NldHJsaW1pdD15 ZXMKYWNfY3ZfZnVuY19zaHV0ZG93bj15ZXMKYWNfY3ZfZnVuY19zaWcyc3RyPW5vCmFjX2N2X2Z1 bmNfc25wcmludGY9eWVzCmFjX2N2X2Z1bmNfc29ja2V0PXllcwphY19jdl9mdW5jX3N0cnNpZ25h bD15ZXMKYWNfY3ZfZnVuY19zdHJ0b2ltYXg9eWVzCmFjX2N2X2Z1bmNfc3RydG91bWF4PXllcwph Y19jdl9mdW5jX3N5bWxpbms9eWVzCmFjX2N2X2Z1bmNfc3luYz15ZXMKYWNfY3ZfZnVuY190aW1l cl9zZXR0aW1lPXllcwphY19jdl9mdW5jX3R6c2V0PXllcwphY19jdl9mdW5jX3Vuc2V0ZW52PXll cwphY19jdl9mdW5jX3V0aW1lbnNhdD1ubwphY19jdl9mdW5jX3Zmb3JrPXllcwphY19jdl9mdW5j X3Zmb3JrX3dvcmtzPXllcwphY19jdl9oYXZlX2RlY2xfX19zeXNfc2lnbGlzdD1ubwphY19jdl9o YXZlX2RlY2xfX3B1dGVudj1ubwphY19jdl9oYXZlX2RlY2xfYWxhcm09eWVzCmFjX2N2X2hhdmVf ZGVjbF9mZGF0YXN5bmM9eWVzCmFjX2N2X2hhdmVfZGVjbF9mZG9wZW5kaXI9bm8KYWNfY3ZfaGF2 ZV9kZWNsX2dldGVudj15ZXMKYWNfY3ZfaGF2ZV9kZWNsX2dldGxvYWRhdmc9bm8KYWNfY3ZfaGF2 ZV9kZWNsX2xvY2FsdGltZV9yPXllcwphY19jdl9oYXZlX2RlY2xfbWVtcmNocj1ubwphY19jdl9o YXZlX2RlY2xfc3RybW9kZT1ubwphY19jdl9oYXZlX2RlY2xfc3RydG9pbWF4PXllcwphY19jdl9o YXZlX2RlY2xfc3RydG91bWF4PXllcwphY19jdl9oYXZlX2RlY2xfc3lzX3NpZ2xpc3Q9bm8KYWNf Y3ZfaGF2ZV9kZWNsX3R6bmFtZT15ZXMKYWNfY3ZfaGF2ZV9kZWNsX3Vuc2V0ZW52PXllcwphY19j dl9oYXZlX3g9aGF2ZV94PSd5ZXMJYWNfeF9pbmNsdWRlcz0nXCcnJ1wnJwlhY194X2xpYnJhcmll cz0nXCcnJ1wnCmFjX2N2X2hlYWRlcl9YMTFfU01fU01saWJfaD15ZXMKYWNfY3ZfaGVhZGVyX1gx MV9leHRlbnNpb25zX1hmaXhlc19oPW5vCmFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YaW5l cmFtYV9oPW5vCmFjX2N2X2hlYWRlcl9YMTFfZXh0ZW5zaW9uc19YcmFuZHJfaD1ubwphY19jdl9o ZWFkZXJfYXJwYV9pbmV0X2g9eWVzCmFjX2N2X2hlYWRlcl9ieXRlc3dhcF9oPW5vCmFjX2N2X2hl YWRlcl9jb2ZmX2g9bm8KYWNfY3ZfaGVhZGVyX2RpcmVudF9oPXllcwphY19jdl9oZWFkZXJfZXhl Y2luZm9faD1ubwphY19jdl9oZWFkZXJfZ2V0b3B0X2g9bm8KYWNfY3ZfaGVhZGVyX2lmYWRkcnNf aD1ubwphY19jdl9oZWFkZXJfaW50dHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX2xpYmdlbl9oPXll cwphY19jdl9oZWFkZXJfbWFpbGxvY2tfaD1ubwphY19jdl9oZWFkZXJfbWFsbG9jX21hbGxvY19o PW5vCmFjX2N2X2hlYWRlcl9tZW1vcnlfaD15ZXMKYWNfY3ZfaGVhZGVyX21pbml4X2NvbmZpZ19o PW5vCmFjX2N2X2hlYWRlcl9uZXRfaWZfZGxfaD15ZXMKYWNfY3ZfaGVhZGVyX25ldF9pZl9oPXll cwphY19jdl9oZWFkZXJfbmV0aW5ldF9pbl9oPXllcwphY19jdl9oZWFkZXJfbmxpc3RfaD15ZXMK YWNfY3ZfaGVhZGVyX3B0aHJlYWRfaD15ZXMKYWNfY3ZfaGVhZGVyX3B0eV9oPW5vCmFjX2N2X2hl YWRlcl9wd2RfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0YXRfYnJva2VuPW5vCmFjX2N2X2hlYWRlcl9z dGRjPXllcwphY19jdl9oZWFkZXJfc3RkaW50X2g9eWVzCmFjX2N2X2hlYWRlcl9zdGRpb19leHRf aD1ubwphY19jdl9oZWFkZXJfc3RkbGliX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMK YWNfY3ZfaGVhZGVyX3N0cmluZ3NfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19sb2FkYXZnX2g9bm8K YWNfY3ZfaGVhZGVyX3N5c19wYXJhbV9oPXllcwphY19jdl9oZWFkZXJfc3lzX3Jlc291cmNlX2g9 eWVzCmFjX2N2X2hlYWRlcl9zeXNfc2VsZWN0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc29ja2V0 X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3N5c3Rl bWluZm9faD1ubwphY19jdl9oZWFkZXJfc3lzX3RpbWVfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c190 eXBlc19oPXllcwphY19jdl9oZWFkZXJfc3lzX3VuX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdXRz bmFtZV9oPXllcwphY19jdl9oZWFkZXJfc3lzX3ZsaW1pdF9oPXllcwphY19jdl9oZWFkZXJfc3lz X3dhaXRfaD15ZXMKYWNfY3ZfaGVhZGVyX3Rlcm1faD15ZXMKYWNfY3ZfaGVhZGVyX3RpbWU9eWVz CmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMKYWNfY3ZfaGVhZGVyX3V0aWxfaD1ubwphY19jdl9o ZWFkZXJfdXRpbWVfaD15ZXMKYWNfY3ZfaGVhZGVyX3V0bXBfaD15ZXMKYWNfY3ZfaGVhZGVyX3Zh bGdyaW5kX3ZhbGdyaW5kX2g9bm8KYWNfY3ZfaGVhZGVyX3Zmb3JrX2g9bm8KYWNfY3ZfaGVhZGVy X3djaGFyX2g9eWVzCmFjX2N2X2hvc3Q9cG93ZXJwYy1pYm0tYWl4Ni4xLjAuMAphY19jdl9saWJf U01fU21jT3BlbkNvbm5lY3Rpb249eWVzCmFjX2N2X2xpYl9YYnNkX21haW49bm8KYWNfY3ZfbGli X2VsZl9lbGZfYmVnaW49bm8KYWNfY3ZfbGliX2dldGxvYWRhdmdfZ2V0bG9hZGF2Zz1ubwphY19j dl9saWJfa3N0YXRfa3N0YXRfb3Blbj1ubwphY19jdl9saWJfa3ZtX2t2bV9vcGVuPW5vCmFjX2N2 X2xpYl9sb2NrZmlsZV9tYWlsbG9jaz1ubwphY19jdl9saWJfbWFpbF9tYWlsbG9jaz1ubwphY19j dl9saWJfcGVyZnN0YXRfcGVyZnN0YXRfY3B1X3RvdGFsPXllcwphY19jdl9saWJfdXRpbF9nZXRs b2FkYXZnPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2FkZHI9eWVzCmFjX2N2X21l bWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2FkZHJfc2FfbGVuPXllcwphY19jdl9tZW1iZXJfc3RydWN0 X2lmcmVxX2lmcl9icm9hZGFkZHI9eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2Zs YWdzPXllcwphY19jdl9tZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9od2FkZHI9bm8KYWNfY3ZfbWVt YmVyX3N0cnVjdF9pZnJlcV9pZnJfbmV0bWFzaz1ubwphY19jdl9tZW1iZXJfc3RydWN0X25saXN0 X25fdW5fbl9uYW1lPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9hdGltX3N0X190aW1f dHZfbnNlYz1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfYXRpbV90dl9uc2VjPW5vCmFj X2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9hdGltZW5zZWM9bm8KYWNfY3ZfbWVtYmVyX3N0cnVj dF9zdGF0X3N0X2F0aW1lc3BlY190dl9uc2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9z dF9iaXJ0aHRpbV90dl9uc2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9iaXJ0aHRp bWVuc2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9iaXJ0aHRpbWVzcGVjX3R2X25z ZWM9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF90bV90bV9nbXRvZmY9bm8KYWNfY3ZfbWVtYmVyX3N0 cnVjdF90bV90bV96b25lPW5vCmFjX2N2X29iamV4dD1vCmFjX2N2X3BhdGhfRUdSRVA9Jy91c3Iv bG9jYWwvYmluL2dyZXAgLUUnCmFjX2N2X3BhdGhfR1JFUD0vdXNyL2xvY2FsL2Jpbi9ncmVwCmFj X2N2X3BhdGhfR1pJUF9QUk9HPS91c3IvbG9jYWwvYmluL2d6aXAKYWNfY3ZfcGF0aF9JTlNUQUxM X0lORk89L29wdC9mcmVld2FyZS9iaW4vaW5zdGFsbC1pbmZvCmFjX2N2X3BhdGhfTUFLRUlORk89 bm8KYWNfY3ZfcGF0aF9QS0dfQ09ORklHPW5vCmFjX2N2X3BhdGhfaW5zdGFsbD0nL29wdC9mcmVl d2FyZS9iaW4vaW5zdGFsbCAtYycKYWNfY3ZfcGF0aF9ta2Rpcj0vb3B0L2ZyZWV3YXJlL2Jpbi9t a2RpcgphY19jdl9wcm9nX0FXSz1uYXdrCmFjX2N2X3Byb2dfQ1BQPSc8VE9PTFNESVI+L2djYy00 LjgvYmluL2djYyAtc3RkPWdudTk5IC1FJwphY19jdl9wcm9nX2FjX2N0X0FSPWFyCmFjX2N2X3By b2dfYWNfY3RfUkFOTElCPXJhbmxpYgphY19jdl9wcm9nX2NjX19mZGpfb3B0X2djY180XzhfYmlu X2djY19jX289eWVzCmFjX2N2X3Byb2dfY2NfYzk5PS1zdGQ9Z251OTkKYWNfY3ZfcHJvZ19jY19n PXllcwphY19jdl9wcm9nX2NjX3N0ZGM9LXN0ZD1nbnU5OQphY19jdl9wcm9nX2xpYmxvY2tmaWxl PW5vCmFjX2N2X3Byb2dfbWFrZV9fYmluX2dtYWtlX3NldD15ZXMKYWNfY3Zfc2FmZV90b19kZWZp bmVfX19leHRlbnNpb25zX189eWVzCmFjX2N2X3NlYXJjaF9YbXVDb252ZXJ0U3RhbmRhcmRTZWxl Y3Rpb249LWxYbXUKYWNfY3Zfc2VhcmNoX2Nsb2NrX2dldHRpbWU9J25vbmUgcmVxdWlyZWQnCmFj X2N2X3NlYXJjaF9lYWNjZXNzPW5vCmFjX2N2X3NlYXJjaF9mZGF0YXN5bmM9J25vbmUgcmVxdWly ZWQnCmFjX2N2X3NlYXJjaF9wdGhyZWFkX2F0Zm9yaz0tbHB0aHJlYWQKYWNfY3Zfc2VhcmNoX3Nx cnQ9LWxtCmFjX2N2X3NlYXJjaF90aW1lcl9zZXR0aW1lPSdub25lIHJlcXVpcmVkJwphY19jdl9z aG91bGRfZGVmaW5lX194b3Blbl9zb3VyY2U9bm8KYWNfY3Zfc3RydWN0X3N0X2RtX21vZGU9bm8K YWNfY3Zfc3RydWN0X3RtPXRpbWUuaAphY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cz11bmtub3du CmFjX2N2X3N5c19sYXJnZV9maWxlcz0xCmFjX2N2X3N5c19sYXJnZWZpbGVfQ0M9bm8KYWNfY3Zf c3lzX2xhcmdlZmlsZV9zb3VyY2U9bm8KYWNfY3Zfc3lzX2xvbmdfZmlsZV9uYW1lcz15ZXMKYWNf Y3Zfc3lzX3BlbmRpbmdfb3V0cHV0X25fYnl0ZXM9J2ZwLT5fcHRyIC0gZnAtPl9iYXNlJwphY19j dl90eXBlX2dldGdyb3Vwcz1naWRfdAphY19jdl90eXBlX2xvbmdfbG9uZ19pbnQ9eWVzCmFjX2N2 X3R5cGVfbWJzdGF0ZV90PXllcwphY19jdl90eXBlX21vZGVfdD15ZXMKYWNfY3ZfdHlwZV9ubGlu a190PXllcwphY19jdl90eXBlX3BpZF90PXllcwphY19jdl90eXBlX3NpZ2hhbmRsZXJfdD1ubwph Y19jdl90eXBlX3NpZ3NldF90PXllcwphY19jdl90eXBlX3NvY2tsZW5fdD15ZXMKYWNfY3ZfdHlw ZV91bnNpZ25lZF9sb25nX2xvbmdfaW50PXllcwphY19jdl90eXBlX3ZvbGF0aWxlX3NpZ19hdG9t aWNfdD15ZXMKYWNfY3ZfdmFyX3R6bmFtZT15ZXMKYWNfY3Zfd29ya2luZ19hbGxvY2FfaD15ZXMK YW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9Z2NjMwphbV9jdl9tYWtlX3N1cHBv cnRfbmVzdGVkX3ZhcmlhYmxlcz15ZXMKZW1hY3NfY3ZfY19yZXN0cmljdF9hcnI9eWVzCmVtYWNz X2N2X2NsYW5nPW5vCmVtYWNzX2N2X2RhdGFfc3RhcnQ9bm8KZW1hY3NfY3ZfZnVuY19fX2J1aWx0 aW5fdW53aW5kX2luaXQ9eWVzCmVtYWNzX2N2X2Z1bmNfX3NldGptcD15ZXMKZW1hY3NfY3ZfbGFu Z2luZm9fY29kZXNldD15ZXMKZW1hY3NfY3ZfbG9jYWx0aW1lX2NhY2hlPXllcwplbWFjc19jdl9u ZXRkYl9kZWNsYXJlc19oX2Vycm5vPXllcwplbWFjc19jdl9wZXJzb25hbGl0eV9saW51eDMyPW5v CmVtYWNzX2N2X3Nhbml0aXplX2FkZHJlc3M9bm8KZW1hY3NfY3ZfdXNhYmxlX0ZJT05SRUFEPW5v CmVtYWNzX2N2X3Zhcl9kb3VnX2xlYV9tYWxsb2M9bm8KZW1hY3NfY3ZfeDExX3Rvb2xraXRfdmVy c2lvbl82PXllcwplbWFjc19jdl94MTFfdmVyc2lvbl82PXllcwplbWFjc19jdl94YXczZD1ubwpl bWFjc19jdl94YXc9eWVzCmdkYl9jdl9iaWd0b2M9LVdsLC1iYmlndG9jCmdsX2N2X2NfYW1zdGVy ZGFtX2NvbXBpbGVyPW5vCmdsX2N2X2NfbXVsdGlhcmNoPW5vCmdsX2N2X2RlY2xfbnVsbF93b3Jr cz15ZXMKZ2xfY3ZfZGVjbF9yZWFkbGlua193b3Jrcz1ubwpnbF9jdl9mdW5jX19fZnBlbmRpbmc9 bm8KZ2xfY3ZfZnVuY19jOTlfc3RydG9sZD15ZXMKZ2xfY3ZfZnVuY19kdXAyX3dvcmtzPXllcwpn bF9jdl9mdW5jX2ZjbnRsX2ZfZHVwZmRfY2xvZXhlYz1ubwpnbF9jdl9mdW5jX2ZjbnRsX2ZfZHVw ZmRfd29ya3M9eWVzCmdsX2N2X2Z1bmNfZ2V0ZHRhYmxlc2l6ZV93b3Jrcz15ZXMKZ2xfY3ZfZnVu Y19nZXRncm91cHNfd29ya3M9eWVzCmdsX2N2X2Z1bmNfZ2V0dGltZW9mZGF5X2Nsb2JiZXI9bm8K Z2xfY3ZfZnVuY19nZXR0aW1lb2ZkYXlfcG9zaXhfc2lnbmF0dXJlPXllcwpnbF9jdl9mdW5jX2xz dGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxpbms9bm8KZ2xfY3ZfZnVuY19wc2VsZWN0X2Rl dGVjdHNfZWJhZGY9eWVzCmdsX2N2X2Z1bmNfcHRocmVhZF9zaWdtYXNrX3JldHVybl93b3Jrcz15 ZXMKZ2xfY3ZfZnVuY19wdGhyZWFkX3NpZ21hc2tfdW5ibG9ja193b3Jrcz0nZ3Vlc3NpbmcgeWVz JwpnbF9jdl9mdW5jX3JlYWRsaW5rX3dvcmtzPXllcwpnbF9jdl9mdW5jX3N0YXRfZGlyX3NsYXNo PXllcwpnbF9jdl9mdW5jX3N0YXRfZmlsZV9zbGFzaD1ubwpnbF9jdl9mdW5jX3N0cnRvaW1heD15 ZXMKZ2xfY3ZfZnVuY19zdmlkX3B1dGVudj1ubwpnbF9jdl9mdW5jX3N5bWxpbmtfd29ya3M9bm8K Z2xfY3ZfZnVuY191bnNldGVudl93b3Jrcz15ZXMKZ2xfY3ZfZnVuY193b3JraW5nX21rdGltZT1u bwpnbF9jdl9mdW5jX3dvcmtpbmdfdXRpbWVzPXllcwpnbF9jdl9oYXZlX2luY2x1ZGVfbmV4dD15 ZXMKZ2xfY3ZfaGVhZGVyX2Vycm5vX2hfY29tcGxldGU9eWVzCmdsX2N2X2hlYWRlcl9zeXNfc2Vs ZWN0X2hfc2VsZmNvbnRhaW5lZD1ubwpnbF9jdl9oZWFkZXJfd29ya2luZ19zdGRhbGlnbl9oPW5v CmdsX2N2X2hlYWRlcl93b3JraW5nX3N0ZGludF9oPXllcwpnbF9jdl9uZXh0X2RpcmVudF9oPSc8 ZGlyZW50Lmg+JwpnbF9jdl9uZXh0X2ZjbnRsX2g9JzxmY250bC5oPicKZ2xfY3ZfbmV4dF9nZXRv cHRfaD0nPGdldG9wdC5oPicKZ2xfY3ZfbmV4dF9pbnR0eXBlc19oPSc8aW50dHlwZXMuaD4nCmds X2N2X25leHRfc2lnbmFsX2g9JzxzaWduYWwuaD4nCmdsX2N2X25leHRfc3RkaW50X2g9JzxzdGRp bnQuaD4nCmdsX2N2X25leHRfc3RkaW9faD0nPHN0ZGlvLmg+JwpnbF9jdl9uZXh0X3N0ZGxpYl9o PSc8c3RkbGliLmg+JwpnbF9jdl9uZXh0X3N0cmluZ19oPSc8c3RyaW5nLmg+JwpnbF9jdl9uZXh0 X3N5c19zZWxlY3RfaD0nPHN5cy9zZWxlY3QuaD4nCmdsX2N2X25leHRfc3lzX3N0YXRfaD0nPHN5 cy9zdGF0Lmg+JwpnbF9jdl9uZXh0X3N5c190aW1lX2g9JzxzeXMvdGltZS5oPicKZ2xfY3ZfbmV4 dF9zeXNfdHlwZXNfaD0nPHN5cy90eXBlcy5oPicKZ2xfY3ZfbmV4dF90aW1lX2g9Jzx0aW1lLmg+ JwpnbF9jdl9uZXh0X3VuaXN0ZF9oPSc8dW5pc3RkLmg+JwpnbF9jdl9wcmFnbWFfY29sdW1ucz1u bwpnbF9jdl9ycGxfYWxsb2NhPXllcwpnbF9jdl9zaWdfcHNlbGVjdD15ZXMKZ2xfY3Zfc3lzX3N0 cnVjdF90aW1lc3BlY19pbl90aW1lX2g9eWVzCmdsX2N2X3N5c19zdHJ1Y3RfdGltZXZhbD15ZXMK Z2xfY3Zfc3lzX3N0cnVjdF90aW1ldmFsX3R2X3NlYz15ZXMKZ2xfY3Zfc3lzX3N0cnVjdF91dGlt YnVmPXllcwpnbF9jdl90aW1lX3JfcG9zaXg9eWVzCmdsX2N2X3R5cGVfc2lnc2V0X3Q9eWVzCmd0 X2N2X2Nfd2NoYXJfdD15ZXMKZ3RfY3ZfZnVuY191bnNldGVudl9yZXQ9aW50Cmd0X2N2X3NzaXpl X3Q9eWVzCmd0X2N2X3Zhcl9lbnZpcm9uX2RlY2xhcmF0aW9uPXllcwoKIyMgLS0tLS0tLS0tLS0t LS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMK CkFDTE9DQUw9JyR7U0hFTEx9IDxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MS90cnVuay9idWls ZC1hdXgvbWlzc2luZyBhY2xvY2FsLTEuMTMnCkFDTE9DQUxfUEFUSD0nJwpBTExPQ0E9JycKQUxM T0NBX0g9J2FsbG9jYS5oJwpBTFNBX0NGTEFHUz0nJwpBTFNBX0xJQlM9JycKQU1ERVBCQUNLU0xB U0g9J1wnCkFNREVQX0ZBTFNFPScjJwpBTURFUF9UUlVFPScnCkFNVEFSPSckJHtUQVItdGFyfScK QU1fQkFDS1NMQVNIPSdcJwpBTV9ERUZBVUxUX1Y9JyQoQU1fREVGQVVMVF9WRVJCT1NJVFkpJwpB TV9ERUZBVUxUX1ZFUkJPU0lUWT0nMScKQU1fVj0nJChWKScKQVBQTEVfVU5JVkVSU0FMX0JVSUxE PScwJwpBUj0nYXInCkFSRkxBR1M9J2NydScKQVVUT0NPTkY9JyR7U0hFTEx9IDxIT01FRElSPi9z cmMvZW1hY3MvMjQuMy45MS90cnVuay9idWlsZC1hdXgvbWlzc2luZyBhdXRvY29uZicKQVVUT0hF QURFUj0nJHtTSEVMTH0gPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkxL3RydW5rL2J1aWxkLWF1 eC9taXNzaW5nIGF1dG9oZWFkZXInCkFVVE9NQUtFPScke1NIRUxMfSA8SE9NRURJUj4vc3JjL2Vt YWNzLzI0LjMuOTEvdHJ1bmsvYnVpbGQtYXV4L21pc3NpbmcgYXV0b21ha2UtMS4xMycKQVdLPSdu YXdrJwpCSVRTSVpFT0ZfUFRSRElGRl9UPScnCkJJVFNJWkVPRl9TSUdfQVRPTUlDX1Q9JycKQklU U0laRU9GX1NJWkVfVD0nJwpCSVRTSVpFT0ZfV0NIQVJfVD0nJwpCSVRTSVpFT0ZfV0lOVF9UPScn CkJMRVNTTUFJTF9UQVJHRVQ9JycKQlVJTERJTkdfRk9SX1dJTkRPV1NOVF9GQUxTRT0nJwpCVUlM RElOR19GT1JfV0lORE9XU05UX1RSVUU9JyMnCkJZVEVTV0FQX0g9J2J5dGVzd2FwLmgnCkNBTk5P VF9EVU1QPSdubycKQ0M9JzxUT09MU0RJUj4vZ2NjLTQuOC9iaW4vZ2NjIC1zdGQ9Z251OTknCkND REVQTU9ERT0nZGVwbW9kZT1nY2MzJwpDRkxBR1M9Jy1PMCAtZzMnCkNGTEFHU19TT1VORD0nJwpD TElFTlRSRVM9JycKQ0xJRU5UVz0nJwpDTV9PQko9J2NtLm8nCkNPTV9FUlJMSUI9JycKQ1BQPSc8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5IC1FJwpDUFBGTEFHUz0nICAgLUk8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScKQ1JZUFRPTElCPScnCkNZR1BBVEhfVz0n ZWNobycKQ1lHV0lOX09CSj0nJwpDX0hFQVBfU1dJVENIPScnCkNfU1dJVENIX01BQ0hJTkU9JycK Q19TV0lUQ0hfU1lTVEVNPScnCkNfU1dJVENIX1hfU0lURT0nJwpEQlVTX0NGTEFHUz0nJwpEQlVT X0xJQlM9JycKREJVU19PQko9JycKREVGUz0nLURIQVZFX0NPTkZJR19IJwpERVBESVI9Jy5kZXBz JwpERVBGTEFHUz0nLU1NRCAtTUYgJHtERVBESVJ9LyQqLmQgLU1QJwpERVNMSUI9JycKRE9DTUlT Q19XMzI9JycKRUNIT19DPSdcYycKRUNIT19OPScnCkVDSE9fVD0nJwpFR1JFUD0nL3Vzci9sb2Nh bC9iaW4vZ3JlcCAtRScKRU1BQ1NSRVM9JycKRU1BQ1NfTUFOSUZFU1Q9JycKRU1VTFRJSE9QX0hJ RERFTj0nJwpFTVVMVElIT1BfVkFMVUU9JycKRU5PTElOS19ISURERU49JycKRU5PTElOS19WQUxV RT0nJwpFT1ZFUkZMT1dfSElEREVOPScnCkVPVkVSRkxPV19WQUxVRT0nJwpFUlJOT19IPScnCkVY RUNJTkZPX0g9J2V4ZWNpbmZvLmgnCkVYRUVYVD0nJwpGSVJTVEZJTEVfT0JKPScnCkZPTlRDT05G SUdfQ0ZMQUdTPScnCkZPTlRDT05GSUdfTElCUz0nJwpGT05UX09CSj0neGZvbnQubycKRlJFRVRZ UEVfQ0ZMQUdTPScnCkZSRUVUWVBFX0xJQlM9JycKR0NPTkZfQ0ZMQUdTPScnCkdDT05GX0xJQlM9 JycKR0VUTE9BREFWR19MSUJTPSctbHBlcmZzdGF0ICcKR0VUT1BUX0g9J2dldG9wdC5oJwpHRklM RU5PVElGWV9DRkxBR1M9JycKR0ZJTEVOT1RJRllfTElCUz0nJwpHTF9DT05EX0xJQlRPT0xfRkFM U0U9JycKR0xfQ09ORF9MSUJUT09MX1RSVUU9JyMnCkdMX0dFTkVSQVRFX0FMTE9DQV9IX0ZBTFNF PScjJwpHTF9HRU5FUkFURV9BTExPQ0FfSF9UUlVFPScnCkdMX0dFTkVSQVRFX0JZVEVTV0FQX0hf RkFMU0U9JyMnCkdMX0dFTkVSQVRFX0JZVEVTV0FQX0hfVFJVRT0nJwpHTF9HRU5FUkFURV9FUlJO T19IX0ZBTFNFPScnCkdMX0dFTkVSQVRFX0VSUk5PX0hfVFJVRT0nIycKR0xfR0VORVJBVEVfRVhF Q0lORk9fSF9GQUxTRT0nIycKR0xfR0VORVJBVEVfRVhFQ0lORk9fSF9UUlVFPScnCkdMX0dFTkVS QVRFX1NUREFMSUdOX0hfRkFMU0U9JyMnCkdMX0dFTkVSQVRFX1NUREFMSUdOX0hfVFJVRT0nJwpH TF9HRU5FUkFURV9TVERERUZfSF9GQUxTRT0nJwpHTF9HRU5FUkFURV9TVERERUZfSF9UUlVFPScj JwpHTF9HRU5FUkFURV9TVERJTlRfSF9GQUxTRT0nJwpHTF9HRU5FUkFURV9TVERJTlRfSF9UUlVF PScjJwpHTUFMTE9DX09CSj0nZ21hbGxvYy5vJwpHTlVMSUJfQUxQSEFTT1JUPScwJwpHTlVMSUJf QVRPTEw9JzAnCkdOVUxJQl9DQUxMT0NfUE9TSVg9JzAnCkdOVUxJQl9DQU5PTklDQUxJWkVfRklM RV9OQU1FPScwJwpHTlVMSUJfQ0hESVI9JzAnCkdOVUxJQl9DSE9XTj0nMCcKR05VTElCX0NMT1NF PScwJwpHTlVMSUJfQ0xPU0VESVI9JzAnCkdOVUxJQl9ESVJGRD0nMCcKR05VTElCX0RQUklOVEY9 JzAnCkdOVUxJQl9EVVAyPScxJwpHTlVMSUJfRFVQMz0nMCcKR05VTElCX0RVUD0nMCcKR05VTElC X0VOVklST049JzEnCkdOVUxJQl9FVUlEQUNDRVNTPScxJwpHTlVMSUJfRkFDQ0VTU0FUPScxJwpH TlVMSUJfRkNIRElSPScwJwpHTlVMSUJfRkNITU9EQVQ9JzAnCkdOVUxJQl9GQ0hPV05BVD0nMCcK R05VTElCX0ZDTE9TRT0nMCcKR05VTElCX0ZDTlRMPScxJwpHTlVMSUJfRkRBVEFTWU5DPScxJwpH TlVMSUJfRkRPUEVOPScwJwpHTlVMSUJfRkRPUEVORElSPScxJwpHTlVMSUJfRkZMVVNIPScwJwpH TlVMSUJfRkZTTD0nMCcKR05VTElCX0ZGU0xMPScwJwpHTlVMSUJfRkdFVEM9JzEnCkdOVUxJQl9G R0VUUz0nMScKR05VTElCX0ZPUEVOPScwJwpHTlVMSUJfRlBSSU5URj0nMScKR05VTElCX0ZQUklO VEZfUE9TSVg9JzAnCkdOVUxJQl9GUFVSR0U9JzAnCkdOVUxJQl9GUFVUQz0nMScKR05VTElCX0ZQ VVRTPScxJwpHTlVMSUJfRlJFQUQ9JzEnCkdOVUxJQl9GUkVPUEVOPScwJwpHTlVMSUJfRlNDQU5G PScxJwpHTlVMSUJfRlNFRUs9JzAnCkdOVUxJQl9GU0VFS089JzAnCkdOVUxJQl9GU1RBVD0nMCcK R05VTElCX0ZTVEFUQVQ9JzEnCkdOVUxJQl9GU1lOQz0nMScKR05VTElCX0ZURUxMPScwJwpHTlVM SUJfRlRFTExPPScwJwpHTlVMSUJfRlRSVU5DQVRFPScwJwpHTlVMSUJfRlVUSU1FTlM9JzAnCkdO VUxJQl9GV1JJVEU9JzEnCkdOVUxJQl9HRVRDPScxJwpHTlVMSUJfR0VUQ0hBUj0nMScKR05VTElC X0dFVENXRD0nMCcKR05VTElCX0dFVERFTElNPScwJwpHTlVMSUJfR0VURE9NQUlOTkFNRT0nMCcK R05VTElCX0dFVERUQUJMRVNJWkU9JzEnCkdOVUxJQl9HRVRHUk9VUFM9JzEnCkdOVUxJQl9HRVRI T1NUTkFNRT0nMCcKR05VTElCX0dFVExJTkU9JzAnCkdOVUxJQl9HRVRMT0FEQVZHPScxJwpHTlVM SUJfR0VUTE9HSU49JzAnCkdOVUxJQl9HRVRMT0dJTl9SPScwJwpHTlVMSUJfR0VUUEFHRVNJWkU9 JzAnCkdOVUxJQl9HRVRTVUJPUFQ9JzAnCkdOVUxJQl9HRVRUSU1FT0ZEQVk9JzEnCkdOVUxJQl9H RVRVU0VSU0hFTEw9JzAnCkdOVUxJQl9HTF9VTklTVERfSF9HRVRPUFQ9JzEnCkdOVUxJQl9HUkFO VFBUPScwJwpHTlVMSUJfR1JPVVBfTUVNQkVSPScxJwpHTlVMSUJfSU1BWEFCUz0nMCcKR05VTElC X0lNQVhESVY9JzAnCkdOVUxJQl9JU0FUVFk9JzAnCkdOVUxJQl9MQ0hNT0Q9JzAnCkdOVUxJQl9M Q0hPV049JzAnCkdOVUxJQl9MSU5LPScwJwpHTlVMSUJfTElOS0FUPScwJwpHTlVMSUJfTFNFRUs9 JzAnCkdOVUxJQl9MU1RBVD0nMScKR05VTElCX01BTExPQ19QT1NJWD0nMCcKR05VTElCX01CU0NB U0VDTVA9JzAnCkdOVUxJQl9NQlNDQVNFU1RSPScwJwpHTlVMSUJfTUJTQ0hSPScwJwpHTlVMSUJf TUJTQ1NQTj0nMCcKR05VTElCX01CU0xFTj0nMCcKR05VTElCX01CU05DQVNFQ01QPScwJwpHTlVM SUJfTUJTTkxFTj0nMCcKR05VTElCX01CU1BCUks9JzAnCkdOVUxJQl9NQlNQQ0FTRUNNUD0nMCcK R05VTElCX01CU1JDSFI9JzAnCkdOVUxJQl9NQlNTRVA9JzAnCkdOVUxJQl9NQlNTUE49JzAnCkdO VUxJQl9NQlNTVFI9JzAnCkdOVUxJQl9NQlNUT0tfUj0nMCcKR05VTElCX01CVE9XQz0nMCcKR05V TElCX01FTUNIUj0nMCcKR05VTElCX01FTU1FTT0nMCcKR05VTElCX01FTVBDUFk9JzAnCkdOVUxJ Ql9NRU1SQ0hSPScxJwpHTlVMSUJfTUtESVJBVD0nMCcKR05VTElCX01LRFRFTVA9JzAnCkdOVUxJ Ql9NS0ZJRk89JzAnCkdOVUxJQl9NS0ZJRk9BVD0nMCcKR05VTElCX01LTk9EPScwJwpHTlVMSUJf TUtOT0RBVD0nMCcKR05VTElCX01LT1NURU1QPScxJwpHTlVMSUJfTUtPU1RFTVBTPScwJwpHTlVM SUJfTUtTVEVNUD0nMCcKR05VTElCX01LU1RFTVBTPScwJwpHTlVMSUJfTUtUSU1FPScxJwpHTlVM SUJfTkFOT1NMRUVQPScwJwpHTlVMSUJfTk9OQkxPQ0tJTkc9JzAnCkdOVUxJQl9PQlNUQUNLX1BS SU5URj0nMCcKR05VTElCX09CU1RBQ0tfUFJJTlRGX1BPU0lYPScwJwpHTlVMSUJfT1BFTj0nMCcK R05VTElCX09QRU5BVD0nMCcKR05VTElCX09QRU5ESVI9JzAnCkdOVUxJQl9QQ0xPU0U9JzAnCkdO VUxJQl9QRVJST1I9JzAnCkdOVUxJQl9QSVBFMj0nMScKR05VTElCX1BJUEU9JzAnCkdOVUxJQl9Q T1BFTj0nMCcKR05VTElCX1BPU0lYX09QRU5QVD0nMCcKR05VTElCX1BSRUFEPScwJwpHTlVMSUJf UFJJTlRGPScxJwpHTlVMSUJfUFJJTlRGX1BPU0lYPScwJwpHTlVMSUJfUFNFTEVDVD0nMScKR05V TElCX1BUSFJFQURfU0lHTUFTSz0nMScKR05VTElCX1BUU05BTUU9JzAnCkdOVUxJQl9QVFNOQU1F X1I9JzAnCkdOVUxJQl9QVVRDPScxJwpHTlVMSUJfUFVUQ0hBUj0nMScKR05VTElCX1BVVEVOVj0n MScKR05VTElCX1BVVFM9JzEnCkdOVUxJQl9QV1JJVEU9JzAnCkdOVUxJQl9SQUlTRT0nMCcKR05V TElCX1JBTkRPTT0nMCcKR05VTElCX1JBTkRPTV9SPScwJwpHTlVMSUJfUkFXTUVNQ0hSPScwJwpH TlVMSUJfUkVBRD0nMCcKR05VTElCX1JFQURESVI9JzAnCkdOVUxJQl9SRUFETElOSz0nMScKR05V TElCX1JFQURMSU5LQVQ9JzEnCkdOVUxJQl9SRUFMTE9DX1BPU0lYPScwJwpHTlVMSUJfUkVBTFBB VEg9JzAnCkdOVUxJQl9SRU1PVkU9JzAnCkdOVUxJQl9SRU5BTUU9JzAnCkdOVUxJQl9SRU5BTUVB VD0nMCcKR05VTElCX1JFV0lORERJUj0nMCcKR05VTElCX1JNRElSPScwJwpHTlVMSUJfUlBNQVRD SD0nMCcKR05VTElCX1NDQU5ESVI9JzAnCkdOVUxJQl9TQ0FORj0nMScKR05VTElCX1NFQ1VSRV9H RVRFTlY9JzEnCkdOVUxJQl9TRUxFQ1Q9JzAnCkdOVUxJQl9TRVRFTlY9JzAnCkdOVUxJQl9TRVRI T1NUTkFNRT0nMCcKR05VTElCX1NJR0FDVElPTj0nMCcKR05VTElCX1NJR05BTF9IX1NJR1BJUEU9 JzAnCkdOVUxJQl9TSUdQUk9DTUFTSz0nMCcKR05VTElCX1NMRUVQPScwJwpHTlVMSUJfU05QUklO VEY9JzAnCkdOVUxJQl9TUFJJTlRGX1BPU0lYPScwJwpHTlVMSUJfU1RBVD0nMScKR05VTElCX1NU RElPX0hfTk9OQkxPQ0tJTkc9JzAnCkdOVUxJQl9TVERJT19IX1NJR1BJUEU9JzAnCkdOVUxJQl9T VFBDUFk9JzAnCkdOVUxJQl9TVFBOQ1BZPScwJwpHTlVMSUJfU1RSQ0FTRVNUUj0nMCcKR05VTElC X1NUUkNIUk5VTD0nMCcKR05VTElCX1NUUkRVUD0nMCcKR05VTElCX1NUUkVSUk9SPScwJwpHTlVM SUJfU1RSRVJST1JfUj0nMCcKR05VTElCX1NUUk5DQVQ9JzAnCkdOVUxJQl9TVFJORFVQPScwJwpH TlVMSUJfU1RSTkxFTj0nMCcKR05VTElCX1NUUlBCUks9JzAnCkdOVUxJQl9TVFJQVElNRT0nMCcK R05VTElCX1NUUlNFUD0nMCcKR05VTElCX1NUUlNJR05BTD0nMCcKR05VTElCX1NUUlNUUj0nMCcK R05VTElCX1NUUlRPRD0nMCcKR05VTElCX1NUUlRPSU1BWD0nMScKR05VTElCX1NUUlRPS19SPScw JwpHTlVMSUJfU1RSVE9MTD0nMCcKR05VTElCX1NUUlRPVUxMPScwJwpHTlVMSUJfU1RSVE9VTUFY PScxJwpHTlVMSUJfU1RSVkVSU0NNUD0nMCcKR05VTElCX1NZTUxJTks9JzEnCkdOVUxJQl9TWU1M SU5LQVQ9JzAnCkdOVUxJQl9TWVNURU1fUE9TSVg9JzAnCkdOVUxJQl9USU1FR009JzAnCkdOVUxJ Ql9USU1FX1I9JzEnCkdOVUxJQl9UTVBGSUxFPScwJwpHTlVMSUJfVFRZTkFNRV9SPScwJwpHTlVM SUJfVU5JU1REX0hfTk9OQkxPQ0tJTkc9JzAnCkdOVUxJQl9VTklTVERfSF9TSUdQSVBFPScwJwpH TlVMSUJfVU5MSU5LPScwJwpHTlVMSUJfVU5MSU5LQVQ9JzAnCkdOVUxJQl9VTkxPQ0tQVD0nMCcK R05VTElCX1VOU0VURU5WPScxJwpHTlVMSUJfVVNMRUVQPScwJwpHTlVMSUJfVVRJTUVOU0FUPScw JwpHTlVMSUJfVkFTUFJJTlRGPScwJwpHTlVMSUJfVkRQUklOVEY9JzAnCkdOVUxJQl9WRlBSSU5U Rj0nMScKR05VTElCX1ZGUFJJTlRGX1BPU0lYPScwJwpHTlVMSUJfVkZTQ0FORj0nMCcKR05VTElC X1ZQUklOVEY9JzEnCkdOVUxJQl9WUFJJTlRGX1BPU0lYPScwJwpHTlVMSUJfVlNDQU5GPScwJwpH TlVMSUJfVlNOUFJJTlRGPScwJwpHTlVMSUJfVlNQUklOVEZfUE9TSVg9JzAnCkdOVUxJQl9XQVJO X0NGTEFHUz0nJwpHTlVMSUJfV0NUT01CPScwJwpHTlVMSUJfV1JJVEU9JzAnCkdOVUxJQl9fRVhJ VD0nMCcKR05VU1RFUF9DRkxBR1M9JycKR05VX09CSkNfQ0ZMQUdTPScnCkdPQkpFQ1RfQ0ZMQUdT PScnCkdPQkpFQ1RfTElCUz0nJwpHUkVQPScvdXNyL2xvY2FsL2Jpbi9ncmVwJwpHU0VUVElOR1Nf Q0ZMQUdTPScnCkdTRVRUSU5HU19MSUJTPScnCkdUS19DRkxBR1M9JycKR1RLX0xJQlM9JycKR1RL X09CSj0nJwpHWklQX1BST0c9JyAjIC91c3IvbG9jYWwvYmluL2d6aXAgIyAoZGlzYWJsZWQgYnkg Y29uZmlndXJlIC0td2l0aG91dC1jb21wcmVzcy1pbnN0YWxsKScKSEFWRV9BTFBIQVNPUlQ9JzEn CkhBVkVfQVRPTEw9JzEnCkhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRT0nMScKSEFWRV9DSE9X Tj0nMScKSEFWRV9DTE9TRURJUj0nMScKSEFWRV9ERUNMX0RJUkZEPScxJwpIQVZFX0RFQ0xfRU5W SVJPTj0nMScKSEFWRV9ERUNMX0ZDSERJUj0nMScKSEFWRV9ERUNMX0ZEQVRBU1lOQz0nMScKSEFW RV9ERUNMX0ZET1BFTkRJUj0nMCcKSEFWRV9ERUNMX0ZQVVJHRT0nMScKSEFWRV9ERUNMX0ZTRUVL Tz0nMScKSEFWRV9ERUNMX0ZURUxMTz0nMScKSEFWRV9ERUNMX0dFVERFTElNPScxJwpIQVZFX0RF Q0xfR0VURE9NQUlOTkFNRT0nMScKSEFWRV9ERUNMX0dFVExJTkU9JzEnCkhBVkVfREVDTF9HRVRM T0FEQVZHPScwJwpIQVZFX0RFQ0xfR0VUTE9HSU5fUj0nMScKSEFWRV9ERUNMX0dFVFBBR0VTSVpF PScxJwpIQVZFX0RFQ0xfR0VUVVNFUlNIRUxMPScxJwpIQVZFX0RFQ0xfSU1BWEFCUz0nMScKSEFW RV9ERUNMX0lNQVhESVY9JzEnCkhBVkVfREVDTF9MT0NBTFRJTUVfUj0nMScKSEFWRV9ERUNMX01F TU1FTT0nMScKSEFWRV9ERUNMX01FTVJDSFI9JzAnCkhBVkVfREVDTF9PQlNUQUNLX1BSSU5URj0n MScKSEFWRV9ERUNMX1NFVEVOVj0nMScKSEFWRV9ERUNMX1NFVEhPU1ROQU1FPScxJwpIQVZFX0RF Q0xfU05QUklOVEY9JzEnCkhBVkVfREVDTF9TVFJEVVA9JzEnCkhBVkVfREVDTF9TVFJFUlJPUl9S PScxJwpIQVZFX0RFQ0xfU1RSTkRVUD0nMScKSEFWRV9ERUNMX1NUUk5MRU49JzEnCkhBVkVfREVD TF9TVFJTSUdOQUw9JzEnCkhBVkVfREVDTF9TVFJUT0lNQVg9JzEnCkhBVkVfREVDTF9TVFJUT0tf Uj0nMScKSEFWRV9ERUNMX1NUUlRPVU1BWD0nMScKSEFWRV9ERUNMX1RUWU5BTUVfUj0nMScKSEFW RV9ERUNMX1VOU0VURU5WPScxJwpIQVZFX0RFQ0xfVlNOUFJJTlRGPScxJwpIQVZFX0RJUkVOVF9I PScxJwpIQVZFX0RQUklOVEY9JzEnCkhBVkVfRFVQMj0nMScKSEFWRV9EVVAzPScxJwpIQVZFX0VV SURBQ0NFU1M9JzAnCkhBVkVfRkFDQ0VTU0FUPScwJwpIQVZFX0ZDSERJUj0nMScKSEFWRV9GQ0hN T0RBVD0nMScKSEFWRV9GQ0hPV05BVD0nMScKSEFWRV9GQ05UTD0nMScKSEFWRV9GREFUQVNZTkM9 JzEnCkhBVkVfRkRPUEVORElSPScwJwpIQVZFX0ZGU0w9JzEnCkhBVkVfRkZTTEw9JzEnCkhBVkVf RlNFRUtPPScxJwpIQVZFX0ZTVEFUQVQ9JzAnCkhBVkVfRlNZTkM9JzEnCkhBVkVfRlRFTExPPScx JwpIQVZFX0ZUUlVOQ0FURT0nMScKSEFWRV9GVVRJTUVOUz0nMScKSEFWRV9HRVREVEFCTEVTSVpF PScxJwpIQVZFX0dFVEdST1VQUz0nMScKSEFWRV9HRVRIT1NUTkFNRT0nMScKSEFWRV9HRVRMT0dJ Tj0nMScKSEFWRV9HRVRPUFRfSD0nMCcKSEFWRV9HRVRQQUdFU0laRT0nMScKSEFWRV9HRVRTVUJP UFQ9JzEnCkhBVkVfR0VUVElNRU9GREFZPScxJwpIQVZFX0dSQU5UUFQ9JzEnCkhBVkVfR1JPVVBf TUVNQkVSPScwJwpIQVZFX0lOVFRZUEVTX0g9JzEnCkhBVkVfTENITU9EPScxJwpIQVZFX0xDSE9X Tj0nMScKSEFWRV9MSU5LPScxJwpIQVZFX0xJTktBVD0nMScKSEFWRV9MT05HX0xPTkdfSU5UPScx JwpIQVZFX0xTVEFUPScxJwpIQVZFX01BS0VJTkZPPSdubycKSEFWRV9NQlNMRU49JzAnCkhBVkVf TUVNQ0hSPScxJwpIQVZFX01FTVBDUFk9JzEnCkhBVkVfTUtESVJBVD0nMScKSEFWRV9NS0RURU1Q PScxJwpIQVZFX01LRklGTz0nMScKSEFWRV9NS0ZJRk9BVD0nMScKSEFWRV9NS05PRD0nMScKSEFW RV9NS05PREFUPScxJwpIQVZFX01LT1NURU1QPScwJwpIQVZFX01LT1NURU1QUz0nMScKSEFWRV9N S1NURU1QPScxJwpIQVZFX01LU1RFTVBTPScxJwpIQVZFX05BTk9TTEVFUD0nMScKSEFWRV9PUEVO QVQ9JzEnCkhBVkVfT1BFTkRJUj0nMScKSEFWRV9PU19IPScwJwpIQVZFX1BDTE9TRT0nMScKSEFW RV9QSVBFMj0nMCcKSEFWRV9QSVBFPScxJwpIQVZFX1BPUEVOPScxJwpIQVZFX1BPU0lYX09QRU5Q VD0nMScKSEFWRV9QT1NJWF9TSUdOQUxCTE9DS0lORz0nMScKSEFWRV9QUkVBRD0nMScKSEFWRV9Q U0VMRUNUPScxJwpIQVZFX1BUSFJFQURfU0lHTUFTSz0nMScKSEFWRV9QVFNOQU1FPScxJwpIQVZF X1BUU05BTUVfUj0nMScKSEFWRV9QV1JJVEU9JzEnCkhBVkVfUkFJU0U9JzEnCkhBVkVfUkFORE9N PScxJwpIQVZFX1JBTkRPTV9IPScxJwpIQVZFX1JBTkRPTV9SPScxJwpIQVZFX1JBV01FTUNIUj0n MScKSEFWRV9SRUFERElSPScxJwpIQVZFX1JFQURMSU5LPScxJwpIQVZFX1JFQURMSU5LQVQ9JzAn CkhBVkVfUkVBTFBBVEg9JzEnCkhBVkVfUkVOQU1FQVQ9JzEnCkhBVkVfUkVXSU5ERElSPScxJwpI QVZFX1JQTUFUQ0g9JzEnCkhBVkVfU0NBTkRJUj0nMScKSEFWRV9TRUNVUkVfR0VURU5WPScwJwpI QVZFX1NFVEVOVj0nMScKSEFWRV9TRVRIT1NUTkFNRT0nMScKSEFWRV9TSUdBQ1RJT049JzEnCkhB VkVfU0lHSEFORExFUl9UPScwJwpIQVZFX1NJR0lORk9fVD0nMScKSEFWRV9TSUdORURfU0lHX0FU T01JQ19UPScnCkhBVkVfU0lHTkVEX1dDSEFSX1Q9JycKSEFWRV9TSUdORURfV0lOVF9UPScnCkhB VkVfU0lHU0VUX1Q9JzEnCkhBVkVfU0xFRVA9JzEnCkhBVkVfU1RESU5UX0g9JzEnCkhBVkVfU1RQ Q1BZPScxJwpIQVZFX1NUUE5DUFk9JzEnCkhBVkVfU1RSQ0FTRVNUUj0nMScKSEFWRV9TVFJDSFJO VUw9JzEnCkhBVkVfU1RSUEJSSz0nMScKSEFWRV9TVFJQVElNRT0nMScKSEFWRV9TVFJTRVA9JzEn CkhBVkVfU1RSVE9EPScxJwpIQVZFX1NUUlRPTEw9JzEnCkhBVkVfU1RSVE9VTEw9JzEnCkhBVkVf U1RSVUNUX1JBTkRPTV9EQVRBPScxJwpIQVZFX1NUUlVDVF9TSUdBQ1RJT05fU0FfU0lHQUNUSU9O PScxJwpIQVZFX1NUUlVDVF9USU1FVkFMPScxJwpIQVZFX1NUUlZFUlNDTVA9JzEnCkhBVkVfU1lN TElOSz0nMScKSEFWRV9TWU1MSU5LQVQ9JzEnCkhBVkVfU1lTX0JJVFlQRVNfSD0nJwpIQVZFX1NZ U19JTlRUWVBFU19IPScnCkhBVkVfU1lTX0xPQURBVkdfSD0nMCcKSEFWRV9TWVNfUEFSQU1fSD0n MCcKSEFWRV9TWVNfU0VMRUNUX0g9JzEnCkhBVkVfU1lTX1RJTUVfSD0nMScKSEFWRV9TWVNfVFlQ RVNfSD0nMScKSEFWRV9USU1FR009JzEnCkhBVkVfVFlQRV9WT0xBVElMRV9TSUdfQVRPTUlDX1Q9 JzEnCkhBVkVfVU5JU1REX0g9JzEnCkhBVkVfVU5MSU5LQVQ9JzEnCkhBVkVfVU5MT0NLUFQ9JzEn CkhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVD0nMScKSEFWRV9VU0xFRVA9JzEnCkhBVkVfVVRJ TUVOU0FUPScxJwpIQVZFX1ZBU1BSSU5URj0nMScKSEFWRV9WRFBSSU5URj0nMScKSEFWRV9XQ0hB Ul9IPScxJwpIQVZFX1dDSEFSX1Q9JzEnCkhBVkVfV0lOU09DSzJfSD0nMCcKSEFWRV9YU0VSVkVS PScnCkhBVkVfX0VYSVQ9JzEnCklNQUdFTUFHSUNLX0NGTEFHUz0nJwpJTUFHRU1BR0lDS19MSUJT PScnCklOQ0xVREVfTkVYVD0naW5jbHVkZV9uZXh0JwpJTkNMVURFX05FWFRfQVNfRklSU1RfRElS RUNUSVZFPSdpbmNsdWRlX25leHQnCklORk9fRVhUPScuaW5mbycKSU5GT19PUFRTPSctLW5vLXNw bGl0JwpJTlNUQUxMX0FSQ0hfSU5ERVBfRVhUUkE9J2luc3RhbGwtZXRjJwpJTlNUQUxMX0RBVEE9 JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX0lORk89Jy9vcHQvZnJlZXdhcmUvYmluL2luc3Rh bGwtaW5mbycKSU5TVEFMTF9QUk9HUkFNPScke0lOU1RBTEx9JwpJTlNUQUxMX1NDUklQVD0nJHtJ TlNUQUxMfScKSU5TVEFMTF9TVFJJUF9QUk9HUkFNPSckKGluc3RhbGxfc2gpIC1jIC1zJwpJTlQz Ml9NQVhfTFRfSU5UTUFYX01BWD0nMScKSU5UNjRfTUFYX0VRX0xPTkdfTUFYPSdkZWZpbmVkIF9M UDY0JwpLUkI0TElCPScnCktSQjVMSUI9JycKTERGTEFHUz0nIC1MPFRPT0xTRElSPi9lbWFjcy0y NC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgJwpMRF9TV0lUQ0hfU1lTVEVNPScnCkxEX1NXSVRDSF9T WVNURU1fVEVNQUNTPScgLVdsLC1ibm9kZWxjc2VjdCcKTERfU1dJVENIX1hfU0lURT0nJwpMRF9T V0lUQ0hfWF9TSVRFX1JQQVRIPScnCkxJQkdJRj0nJwpMSUJHTlVUTFNfQ0ZMQUdTPScnCkxJQkdO VVRMU19MSUJTPScnCkxJQkdOVV9MSUJERVBTPScnCkxJQkdOVV9MVExJQkRFUFM9JycKTElCR1BN PScnCkxJQkhFU0lPRD0nJwpMSUJJTlRMPScnCkxJQkpQRUc9JycKTElCT0JKUz0nJwpMSUJPVEZf Q0ZMQUdTPScnCkxJQk9URl9MSUJTPScnCkxJQlBORz0nJwpMSUJSRVNPTFY9JycKTElCUz0nLWxy dHMgLWxJTSAtbGljb252ICcKTElCU0VMSU5VWF9MSUJTPScnCkxJQlNPVU5EPScnCkxJQlNfRUNM SUVOVD0nJwpMSUJTX0dOVVNURVA9JycKTElCU19NQUlMPScnCkxJQlNfU1lTVEVNPSctbHJ0cyAt bElNIC1saWNvbnYnCkxJQlNfVEVSTUNBUD0nLWxjdXJzZXMnCkxJQlRJRkY9JycKTElCWE1FTlU9 JyQobHdsaWJkaXIpL2xpYmx3LmEnCkxJQlhNTDJfQ0ZMQUdTPScnCkxJQlhNTDJfTElCUz0nJwpM SUJYTVU9Jy1sWG11JwpMSUJYUE09JycKTElCWFNNPSctbFNNIC1sSUNFJwpMSUJYVFI2PSctbFNN IC1sSUNFJwpMSUJYVF9PVEhFUj0nJChMSUJYTVUpIC1sWHQgJChMSUJYVFI2KSAtbFhleHQnCkxJ QlhfT1RIRVI9JyQoTElCWFQpICQoTElCWF9FWFRSQSknCkxJQlo9JycKTElCX0FDTD0nJwpMSUJf Q0xPQ0tfR0VUVElNRT0nJwpMSUJfRUFDQ0VTUz0nJwpMSUJfRVhFQ0lORk89JycKTElCX0ZEQVRB U1lOQz0nJwpMSUJfTUFUSD0nLWxtJwpMSUJfUFRIUkVBRD0nLWxwdGhyZWFkJwpMSUJfUFRIUkVB RF9TSUdNQVNLPScnCkxJQl9USU1FUl9USU1FPScnCkxJQl9XU09DSzMyPScnCkxOX1NfRklMRU9O TFk9J2xuIC1zJwpMVExJQklOVEw9JycKTFRMSUJPQkpTPScnCk0xN05fRkxUX0NGTEFHUz0nJwpN MTdOX0ZMVF9MSUJTPScnCk1BS0VJTkZPPSdtYWtlaW5mbycKTUFLRV9QUk9HPScnCk1LREVQRElS PScke01LRElSX1B9ICR7REVQRElSfScKTUtESVJfUD0nL29wdC9mcmVld2FyZS9iaW4vbWtkaXIg LXAnCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX0RJUkVOVF9IPSc8ZGlyZW50Lmg+JwpORVhUX0FT X0ZJUlNUX0RJUkVDVElWRV9FUlJOT19IPScnCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX0ZDTlRM X0g9JzxmY250bC5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfR0VUT1BUX0g9JzxnZXRvcHQu aD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX0lOVFRZUEVTX0g9JzxpbnR0eXBlcy5oPicKTkVY VF9BU19GSVJTVF9ESVJFQ1RJVkVfU0lHTkFMX0g9JzxzaWduYWwuaD4nCk5FWFRfQVNfRklSU1Rf RElSRUNUSVZFX1NURERFRl9IPScnCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NURElOVF9IPSc8 c3RkaW50Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERJT19IPSc8c3RkaW8uaD4nCk5F WFRfQVNfRklSU1RfRElSRUNUSVZFX1NURExJQl9IPSc8c3RkbGliLmg+JwpORVhUX0FTX0ZJUlNU X0RJUkVDVElWRV9TVFJJTkdfSD0nPHN0cmluZy5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVf U1lTX1NFTEVDVF9IPSc8c3lzL3NlbGVjdC5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1lT X1NUQVRfSD0nPHN5cy9zdGF0Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TWVNfVElNRV9I PSc8c3lzL3RpbWUuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NZU19UWVBFU19IPSc8c3lz L3R5cGVzLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9USU1FX0g9Jzx0aW1lLmg+JwpORVhU X0FTX0ZJUlNUX0RJUkVDVElWRV9VTklTVERfSD0nPHVuaXN0ZC5oPicKTkVYVF9ESVJFTlRfSD0n PGRpcmVudC5oPicKTkVYVF9FUlJOT19IPScnCk5FWFRfRkNOVExfSD0nPGZjbnRsLmg+JwpORVhU X0dFVE9QVF9IPSc8Z2V0b3B0Lmg+JwpORVhUX0lOVFRZUEVTX0g9JzxpbnR0eXBlcy5oPicKTkVY VF9TSUdOQUxfSD0nPHNpZ25hbC5oPicKTkVYVF9TVERERUZfSD0nJwpORVhUX1NURElOVF9IPSc8 c3RkaW50Lmg+JwpORVhUX1NURElPX0g9JzxzdGRpby5oPicKTkVYVF9TVERMSUJfSD0nPHN0ZGxp Yi5oPicKTkVYVF9TVFJJTkdfSD0nPHN0cmluZy5oPicKTkVYVF9TWVNfU0VMRUNUX0g9JzxzeXMv c2VsZWN0Lmg+JwpORVhUX1NZU19TVEFUX0g9JzxzeXMvc3RhdC5oPicKTkVYVF9TWVNfVElNRV9I PSc8c3lzL3RpbWUuaD4nCk5FWFRfU1lTX1RZUEVTX0g9JzxzeXMvdHlwZXMuaD4nCk5FWFRfVElN RV9IPSc8dGltZS5oPicKTkVYVF9VTklTVERfSD0nPHVuaXN0ZC5oPicKTk9USUZZX09CSj0nJwpO U19PQko9JycKTlNfT0JKQ19PQko9JycKTlRESVI9JycKTlRMSUI9JycKT0JKRVhUPSdvJwpPVEhF Ul9GSUxFUz0nJwpQQUNLQUdFPSdlbWFjcycKUEFDS0FHRV9CVUdSRVBPUlQ9J2J1Zy1nbnUtZW1h Y3NAZ251Lm9yZycKUEFDS0FHRV9OQU1FPSdHTlUgRW1hY3MnClBBQ0tBR0VfU1RSSU5HPSdHTlUg RW1hY3MgMjQuNC41MCcKUEFDS0FHRV9UQVJOQU1FPSdlbWFjcycKUEFDS0FHRV9VUkw9J2h0dHA6 Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8nClBBQ0tBR0VfVkVSU0lPTj0nMjQuNC41MCcK UEFUSF9TRVBBUkFUT1I9JzonClBBWENUTD0nJwpQS0dfQ09ORklHPScnClBLR19DT05GSUdfTElC RElSPScnClBLR19DT05GSUdfUEFUSD0nPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL3NoYXJlL3Br Z2NvbmZpZzo8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliL3BrZ2NvbmZpZycKUE5HX0NGTEFH Uz0nJwpQT1NUX0FMTE9DX09CSj0nJwpQUkFHTUFfQ09MVU1OUz0nJwpQUkFHTUFfU1lTVEVNX0hF QURFUj0nI3ByYWdtYSBHQ0Mgc3lzdGVtX2hlYWRlcicKUFJFX0FMTE9DX09CSj0nbGFzdGZpbGUu bycKUFJJUFRSX1BSRUZJWD0nX19QUklQVFJfUFJFRklYJwpQUklfTUFDUk9TX0JST0tFTj0nMCcK UFJPRklMSU5HX0NGTEFHUz0nJwpQVEhSRUFEX0hfREVGSU5FU19TVFJVQ1RfVElNRVNQRUM9JzAn ClBUUkRJRkZfVF9TVUZGSVg9JycKUkFMTE9DX09CSj0ncmFsbG9jLm8nClJBTkxJQj0ncmFubGli JwpSRVBMQUNFX0NBTExPQz0nMCcKUkVQTEFDRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FPScwJwpS RVBMQUNFX0NIT1dOPScwJwpSRVBMQUNFX0NMT1NFPScwJwpSRVBMQUNFX0NMT1NFRElSPScwJwpS RVBMQUNFX0RJUkZEPScwJwpSRVBMQUNFX0RQUklOVEY9JzAnClJFUExBQ0VfRFVQMj0nMCcKUkVQ TEFDRV9EVVA9JzAnClJFUExBQ0VfRkNIT1dOQVQ9JzAnClJFUExBQ0VfRkNMT1NFPScwJwpSRVBM QUNFX0ZDTlRMPScxJwpSRVBMQUNFX0ZET1BFTj0nMCcKUkVQTEFDRV9GRE9QRU5ESVI9JzAnClJF UExBQ0VfRkZMVVNIPScwJwpSRVBMQUNFX0ZPUEVOPScwJwpSRVBMQUNFX0ZQUklOVEY9JzAnClJF UExBQ0VfRlBVUkdFPScwJwpSRVBMQUNFX0ZSRU9QRU49JzAnClJFUExBQ0VfRlNFRUs9JzAnClJF UExBQ0VfRlNFRUtPPScwJwpSRVBMQUNFX0ZTVEFUPScwJwpSRVBMQUNFX0ZTVEFUQVQ9JzAnClJF UExBQ0VfRlRFTEw9JzAnClJFUExBQ0VfRlRFTExPPScwJwpSRVBMQUNFX0ZUUlVOQ0FURT0nMCcK UkVQTEFDRV9GVVRJTUVOUz0nMCcKUkVQTEFDRV9HRVRDV0Q9JzAnClJFUExBQ0VfR0VUREVMSU09 JzAnClJFUExBQ0VfR0VURE9NQUlOTkFNRT0nMCcKUkVQTEFDRV9HRVREVEFCTEVTSVpFPScwJwpS RVBMQUNFX0dFVEdST1VQUz0nMCcKUkVQTEFDRV9HRVRMSU5FPScwJwpSRVBMQUNFX0dFVExPR0lO X1I9JzAnClJFUExBQ0VfR0VUUEFHRVNJWkU9JzAnClJFUExBQ0VfR0VUVElNRU9GREFZPScwJwpS RVBMQUNFX0dNVElNRT0nMCcKUkVQTEFDRV9JU0FUVFk9JzAnClJFUExBQ0VfTENIT1dOPScwJwpS RVBMQUNFX0xJTks9JzAnClJFUExBQ0VfTElOS0FUPScwJwpSRVBMQUNFX0xPQ0FMVElNRT0nMCcK UkVQTEFDRV9MT0NBTFRJTUVfUj0nMCcKUkVQTEFDRV9MU0VFSz0nMCcKUkVQTEFDRV9MU1RBVD0n MScKUkVQTEFDRV9NQUxMT0M9JzAnClJFUExBQ0VfTUJUT1dDPScwJwpSRVBMQUNFX01FTUNIUj0n MCcKUkVQTEFDRV9NRU1NRU09JzAnClJFUExBQ0VfTUtESVI9JzAnClJFUExBQ0VfTUtGSUZPPScw JwpSRVBMQUNFX01LTk9EPScwJwpSRVBMQUNFX01LU1RFTVA9JzAnClJFUExBQ0VfTUtUSU1FPScx JwpSRVBMQUNFX05BTk9TTEVFUD0nR05VTElCX1BPUlRDSEVDSycKUkVQTEFDRV9OVUxMPScwJwpS RVBMQUNFX09CU1RBQ0tfUFJJTlRGPScwJwpSRVBMQUNFX09QRU49JzAnClJFUExBQ0VfT1BFTkFU PScwJwpSRVBMQUNFX09QRU5ESVI9JzAnClJFUExBQ0VfUEVSUk9SPScwJwpSRVBMQUNFX1BPUEVO PScwJwpSRVBMQUNFX1BSRUFEPScwJwpSRVBMQUNFX1BSSU5URj0nMCcKUkVQTEFDRV9QU0VMRUNU PScwJwpSRVBMQUNFX1BUSFJFQURfU0lHTUFTSz0nMCcKUkVQTEFDRV9QVFNOQU1FPScwJwpSRVBM QUNFX1BUU05BTUVfUj0nMCcKUkVQTEFDRV9QVVRFTlY9JzEnClJFUExBQ0VfUFdSSVRFPScwJwpS RVBMQUNFX1JBSVNFPScwJwpSRVBMQUNFX1JBTkRPTV9SPScwJwpSRVBMQUNFX1JFQUQ9JzAnClJF UExBQ0VfUkVBRExJTks9JzEnClJFUExBQ0VfUkVBTExPQz0nMCcKUkVQTEFDRV9SRUFMUEFUSD0n MCcKUkVQTEFDRV9SRU1PVkU9JzAnClJFUExBQ0VfUkVOQU1FPScwJwpSRVBMQUNFX1JFTkFNRUFU PScwJwpSRVBMQUNFX1JNRElSPScwJwpSRVBMQUNFX1NFTEVDVD0nMCcKUkVQTEFDRV9TRVRFTlY9 JzAnClJFUExBQ0VfU0xFRVA9JzAnClJFUExBQ0VfU05QUklOVEY9JzAnClJFUExBQ0VfU1BSSU5U Rj0nMCcKUkVQTEFDRV9TVEFUPScxJwpSRVBMQUNFX1NURElPX1JFQURfRlVOQ1M9JzAnClJFUExB Q0VfU1RESU9fV1JJVEVfRlVOQ1M9JzAnClJFUExBQ0VfU1RQTkNQWT0nMCcKUkVQTEFDRV9TVFJD QVNFU1RSPScwJwpSRVBMQUNFX1NUUkNIUk5VTD0nMCcKUkVQTEFDRV9TVFJEVVA9JzAnClJFUExB Q0VfU1RSRVJST1I9JzAnClJFUExBQ0VfU1RSRVJST1JfUj0nMCcKUkVQTEFDRV9TVFJOQ0FUPScw JwpSRVBMQUNFX1NUUk5EVVA9JzAnClJFUExBQ0VfU1RSTkxFTj0nMCcKUkVQTEFDRV9TVFJTSUdO QUw9JzAnClJFUExBQ0VfU1RSU1RSPScwJwpSRVBMQUNFX1NUUlRPRD0nMCcKUkVQTEFDRV9TVFJU T0lNQVg9JzAnClJFUExBQ0VfU1RSVE9LX1I9JzAnClJFUExBQ0VfU1RSVE9VTUFYPScwJwpSRVBM QUNFX1NUUlVDVF9USU1FVkFMPScwJwpSRVBMQUNFX1NZTUxJTks9JzEnClJFUExBQ0VfVElNRUdN PSdHTlVMSUJfUE9SVENIRUNLJwpSRVBMQUNFX1RNUEZJTEU9JzAnClJFUExBQ0VfVFRZTkFNRV9S PScwJwpSRVBMQUNFX1VOTElOSz0nMCcKUkVQTEFDRV9VTkxJTktBVD0nMCcKUkVQTEFDRV9VTlNF VEVOVj0nMCcKUkVQTEFDRV9VU0xFRVA9JzAnClJFUExBQ0VfVVRJTUVOU0FUPScwJwpSRVBMQUNF X1ZBU1BSSU5URj0nMCcKUkVQTEFDRV9WRFBSSU5URj0nMCcKUkVQTEFDRV9WRlBSSU5URj0nMCcK UkVQTEFDRV9WUFJJTlRGPScwJwpSRVBMQUNFX1ZTTlBSSU5URj0nMCcKUkVQTEFDRV9WU1BSSU5U Rj0nMCcKUkVQTEFDRV9XQ1RPTUI9JzAnClJFUExBQ0VfV1JJVEU9JzAnClJTVkdfQ0ZMQUdTPScn ClJTVkdfTElCUz0nJwpTRVBDSEFSPSc6JwpTRVRGQVRUUj0nJwpTRVRUSU5HU19DRkxBR1M9JycK U0VUVElOR1NfTElCUz0nJwpTRVRfTUFLRT0nJwpTSEVMTD0nL2Jpbi9zaCcKU0lHX0FUT01JQ19U X1NVRkZJWD0nJwpTSVpFX1RfU1VGRklYPScnClNUREFMSUdOX0g9J3N0ZGFsaWduLmgnClNURERF Rl9IPScnClNURElOVF9IPScnClNUUklQPScnClNVQkRJUl9NQUtFRklMRVNfSU49JyAkKHNyY2Rp cikvbGliL01ha2VmaWxlLmluICQoc3JjZGlyKS9saWItc3JjL01ha2VmaWxlLmluICQoc3JjZGly KS9vbGRYTWVudS9NYWtlZmlsZS5pbiAkKHNyY2RpcikvZG9jL2VtYWNzL01ha2VmaWxlLmluICQo c3JjZGlyKS9kb2MvbWlzYy9NYWtlZmlsZS5pbiAkKHNyY2RpcikvZG9jL2xpc3BpbnRyby9NYWtl ZmlsZS5pbiAkKHNyY2RpcikvZG9jL2xpc3ByZWYvTWFrZWZpbGUuaW4gJChzcmNkaXIpL3NyYy9N YWtlZmlsZS5pbiAkKHNyY2RpcikvbHdsaWIvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2xpc3AvTWFr ZWZpbGUuaW4gJChzcmNkaXIpL2xlaW0vTWFrZWZpbGUuaW4gJChzcmNkaXIpL25leHRzdGVwL01h a2VmaWxlLmluICQoc3JjZGlyKS9udC9NYWtlZmlsZS5pbiAkKHNyY2RpcikvdGVzdC9hdXRvbWF0 ZWQvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2FkbWluL3VuaWRhdGEvTWFrZWZpbGUuaW4gJChzcmNk aXIpL2FkbWluL2dyYW1tYXJzL01ha2VmaWxlLmluJwpTWVNfVElNRV9IX0RFRklORVNfU1RSVUNU X1RJTUVTUEVDPScwJwpURVJNQ0FQX09CSj0ndGVybWluZm8ubycKVElNRV9IX0RFRklORVNfU1RS VUNUX1RJTUVTUEVDPScxJwpUT09MS0lUX0xJQlc9Jy1sWGF3JwpVSU5UMzJfTUFYX0xUX1VJTlRN QVhfTUFYPScxJwpVSU5UNjRfTUFYX0VRX1VMT05HX01BWD0nZGVmaW5lZCBfTFA2NCcKVU5ERUZJ TkVfU1RSVE9LX1I9JzAnClVORVhFQ19PQko9J3VuZXhhaXgubycKVU5JU1REX0hfSEFWRV9XSU5T T0NLMl9IPScwJwpVTklTVERfSF9IQVZFX1dJTlNPQ0syX0hfQU5EX1VTRV9TT0NLRVRTPScwJwpV UERBVEVfTUFOSUZFU1Q9JycKVVNFX0FDTD0nMCcKVkVSU0lPTj0nMjQuNC41MCcKVk1MSU1JVF9P Qko9J3ZtLWxpbWl0Lm8nClczMl9MSUJTPScnClczMl9PQko9JycKVzMyX1JFU19MSU5LPScnCldB Uk5fQ0ZMQUdTPScnCldDSEFSX1RfU1VGRklYPScnCldFUlJPUl9DRkxBR1M9JycKV0lER0VUX09C Sj0nd2lkZ2V0Lm8nCldJTkRPV1NfNjRfQklUX09GRl9UPScwJwpXSU5ET1dTXzY0X0JJVF9TVF9T SVpFPScwJwpXSU5ET1dfU1lTVEVNX09CSj0nZm9udHNldC5vIGZyaW5nZS5vIGltYWdlLm8nCldJ TkRSRVM9JycKV0lOVF9UX1NVRkZJWD0nJwpYQVJHU19MSU1JVD0nJwpYQ1JVTj0nJwpYRklYRVNf Q0ZMQUdTPScnClhGSVhFU19MSUJTPScnClhGVF9DRkxBR1M9JycKWEZUX0xJQlM9JycKWEdTRUxP Qko9JycKWElORVJBTUFfQ0ZMQUdTPScnClhJTkVSQU1BX0xJQlM9JycKWE1FTlVfT0JKPSd4bWVu dS5vJwpYTUtNRj0nJwpYT0JKPSd4dGVybS5vIHhmbnMubyB4c2VsZWN0Lm8geHJkYi5vIHhzbWZu cy5vIHhzZXR0aW5ncy5vJwpYUkFORFJfQ0ZMQUdTPScnClhSQU5EUl9MSUJTPScnClhfVE9PTEtJ VF9UWVBFPSdMVUNJRCcKYWNfY3RfQ0M9JycKYW1fX0VYRUVYVF9GQUxTRT0nJwphbV9fRVhFRVhU X1RSVUU9JyMnCmFtX19mYXN0ZGVwQ0NfRkFMU0U9JyMnCmFtX19mYXN0ZGVwQ0NfVFJVRT0nJwph bV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2lzcmM9JycKYW1fX2xlYWRpbmdfZG90PScuJwphbV9f bm9kZXA9J19ubycKYW1fX3F1b3RlPScnCmFtX190YXI9JyQke1RBUi10YXJ9IGNob2YgLSAiJCR0 YXJkaXIiJwphbV9fdW50YXI9JyQke1RBUi10YXJ9IHhmIC0nCmFyY2hsaWJkaXI9JyR7bGliZXhl Y2Rpcn0vZW1hY3MvJHt2ZXJzaW9ufS8ke2NvbmZpZ3VyYXRpb259JwpiaW5kaXI9JyR7ZXhlY19w cmVmaXh9L2JpbicKYml0bWFwZGlyPScvdXNyL2luY2x1ZGUvWDExL2JpdG1hcHMnCmJ1aWxkPSdw b3dlcnBjLWlibS1haXg2LjEuMC4wJwpidWlsZF9hbGlhcz0nJwpidWlsZF9jcHU9J3Bvd2VycGMn CmJ1aWxkX29zPSdhaXg2LjEuMC4wJwpidWlsZF92ZW5kb3I9J2libScKY2FjaGVfZmlsZT0nL2Rl di9udWxsJwpjYW5vbmljYWw9J3Bvd2VycGMtaWJtLWFpeDYuMS4wLjAnCmNvbmZpZ3VyYXRpb249 J3Bvd2VycGMtaWJtLWFpeDYuMS4wLjAnCmNvcHlyaWdodD0nQ29weXJpZ2h0IChDKSAyMDE0IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLicKZGF0YWRpcj0nJHtkYXRhcm9vdGRpcn0nCmRh dGFyb290ZGlyPScke3ByZWZpeH0vc2hhcmUnCmRvY2Rpcj0nJHtkYXRhcm9vdGRpcn0vZG9jLyR7 UEFDS0FHRV9UQVJOQU1FfScKZHZpZGlyPScke2RvY2Rpcn0nCmV0Y2Rpcj0nJHtkYXRhZGlyfS9l bWFjcy8ke3ZlcnNpb259L2V0YycKZXRjZG9jZGlyPScke2RhdGFkaXJ9L2VtYWNzLyR7dmVyc2lv bn0vZXRjJwpleGVjX3ByZWZpeD0nPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxJwpnYW1lZGlyPSck e2xvY2Fsc3RhdGVkaXJ9L2dhbWVzL2VtYWNzJwpnYW1ldXNlcj0nZ2FtZXMnCmdsX0dOVUxJQl9F TkFCTEVEXzAzZTBhYWFkNGNiODljYTc1NzY1M2JkMzY3YTZjY2I3X0ZBTFNFPScjJwpnbF9HTlVM SUJfRU5BQkxFRF8wM2UwYWFhZDRjYjg5Y2E3NTc2NTNiZDM2N2E2Y2NiN19UUlVFPScnCmdsX0dO VUxJQl9FTkFCTEVEXzI2MDk0MWMwZTVkYzY3ZWM5ZTg3ZDFmYjMyMWMzMDBiX0ZBTFNFPScjJwpn bF9HTlVMSUJfRU5BQkxFRF8yNjA5NDFjMGU1ZGM2N2VjOWU4N2QxZmIzMjFjMzAwYl9UUlVFPScn CmdsX0dOVUxJQl9FTkFCTEVEXzYwOTllOTczN2Y3NTdkYjM2YzQ3ZmE5ZDlmMDJlODhjX0ZBTFNF PScjJwpnbF9HTlVMSUJfRU5BQkxFRF82MDk5ZTk3MzdmNzU3ZGIzNmM0N2ZhOWQ5ZjAyZTg4Y19U UlVFPScnCmdsX0dOVUxJQl9FTkFCTEVEXzY4MmU2MDk2MDRjY2FhYzZiZTM4MmU0ZWUzYTRlYWVj X0ZBTFNFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF82ODJlNjA5NjA0Y2NhYWM2YmUzODJlNGVlM2E0 ZWFlY19UUlVFPScnCmdsX0dOVUxJQl9FTkFCTEVEX2E5Nzg2ODUwZTk5OWFlNjVhODM2YTYwNDFl OGU1ZWQxX0ZBTFNFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF9hOTc4Njg1MGU5OTlhZTY1YTgzNmE2 MDQxZThlNWVkMV9UUlVFPScnCmdsX0dOVUxJQl9FTkFCTEVEX2JlNDUzY2VjNWVlY2Y1NzMxYTI3 NGYyZGU3ZjJkYjM2X0ZBTFNFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF9iZTQ1M2NlYzVlZWNmNTcz MWEyNzRmMmRlN2YyZGIzNl9UUlVFPScnCmdsX0dOVUxJQl9FTkFCTEVEX2Rvc25hbWVfRkFMU0U9 JyMnCmdsX0dOVUxJQl9FTkFCTEVEX2Rvc25hbWVfVFJVRT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9l dWlkYWNjZXNzX0ZBTFNFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF9ldWlkYWNjZXNzX1RSVUU9JycK Z2xfR05VTElCX0VOQUJMRURfZ2V0ZHRhYmxlc2l6ZV9GQUxTRT0nIycKZ2xfR05VTElCX0VOQUJM RURfZ2V0ZHRhYmxlc2l6ZV9UUlVFPScnCmdsX0dOVUxJQl9FTkFCTEVEX2dldGdyb3Vwc19GQUxT RT0nIycKZ2xfR05VTElCX0VOQUJMRURfZ2V0Z3JvdXBzX1RSVUU9JycKZ2xfR05VTElCX0VOQUJM RURfcGF0aG1heF9GQUxTRT0nIycKZ2xfR05VTElCX0VOQUJMRURfcGF0aG1heF9UUlVFPScnCmds X0dOVUxJQl9FTkFCTEVEX3NlY3VyZV9nZXRlbnZfRkFMU0U9JyMnCmdsX0dOVUxJQl9FTkFCTEVE X3NlY3VyZV9nZXRlbnZfVFJVRT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9zdGF0X0ZBTFNFPScjJwpn bF9HTlVMSUJfRU5BQkxFRF9zdGF0X1RSVUU9JycKZ2xfR05VTElCX0VOQUJMRURfc3RydG9sbF9G QUxTRT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9zdHJ0b2xsX1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFC TEVEX3N0cnRvdWxsX0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEX3N0cnRvdWxsX1RSVUU9JyMn CmdsX0dOVUxJQl9FTkFCTEVEX3RlbXBuYW1lX0ZBTFNFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF90 ZW1wbmFtZV9UUlVFPScnCmdsX0xJQk9CSlM9JyBldWlkYWNjZXNzLm8gZXhlY2luZm8ubyBmYWNj ZXNzYXQubyBmY250bC5vIGZkb3BlbmRpci5vIGZwZW5kaW5nLm8gZnN0YXRhdC5vIGdldGxvYWRh dmcubyBnZXRvcHQubyBnZXRvcHQxLm8gZ3JvdXAtbWVtYmVyLm8gbHN0YXQubyBtZW1yY2hyLm8g bWtvc3RlbXAubyBta3RpbWUubyBvcGVuYXQtcHJvYy5vIHB1dGVudi5vIHJlYWRsaW5rLm8gcmVh ZGxpbmthdC5vIHNlY3VyZV9nZXRlbnYubyBzaWcyc3RyLm8gc3RhdC5vIHN5bWxpbmsubycKZ2xf TFRMSUJPQkpTPScgZXVpZGFjY2Vzcy5sbyBleGVjaW5mby5sbyBmYWNjZXNzYXQubG8gZmNudGwu bG8gZmRvcGVuZGlyLmxvIGZwZW5kaW5nLmxvIGZzdGF0YXQubG8gZ2V0bG9hZGF2Zy5sbyBnZXRv cHQubG8gZ2V0b3B0MS5sbyBncm91cC1tZW1iZXIubG8gbHN0YXQubG8gbWVtcmNoci5sbyBta29z dGVtcC5sbyBta3RpbWUubG8gb3BlbmF0LXByb2MubG8gcHV0ZW52LmxvIHJlYWRsaW5rLmxvIHJl YWRsaW5rYXQubG8gc2VjdXJlX2dldGVudi5sbyBzaWcyc3RyLmxvIHN0YXQubG8gc3ltbGluay5s bycKZ2x0ZXN0c19MSUJPQkpTPScnCmdsdGVzdHNfTFRMSUJPQkpTPScnCmdsdGVzdHNfV0lUTkVT Uz0nSU5fRU1BQ1NfR05VTElCX1RFU1RTJwpob3N0PSdwb3dlcnBjLWlibS1haXg2LjEuMC4wJwpo b3N0X2FsaWFzPScnCmhvc3RfY3B1PSdwb3dlcnBjJwpob3N0X29zPSdhaXg2LjEuMC4wJwpob3N0 X3ZlbmRvcj0naWJtJwpodG1sZGlyPScke2RvY2Rpcn0nCmluY2x1ZGVkaXI9JyR7cHJlZml4fS9p bmNsdWRlJwppbmZvZGlyPScke2RhdGFyb290ZGlyfS9pbmZvJwppbnN0YWxsX3NoPScke1NIRUxM fSA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvdHJ1bmsvYnVpbGQtYXV4L2luc3RhbGwtc2gn CmxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke2V4ZWNfcHJlZml4fS9s aWJleGVjJwpsaWJsb2NrZmlsZT0nbm8nCmxpc3BkaXI9JyR7ZGF0YWRpcn0vZW1hY3MvJHt2ZXJz aW9ufS9saXNwJwpsaXNwcGF0aD0nJHtsb2NhbGxpc3BwYXRofToke3N0YW5kYXJkbGlzcHBhdGh9 Jwpsb2NhbGVkaXI9JyR7ZGF0YXJvb3RkaXJ9L2xvY2FsZScKbG9jYWxsaXNwcGF0aD0nJHtkYXRh ZGlyfS9lbWFjcy8ke3ZlcnNpb259L3NpdGUtbGlzcDoke2RhdGFkaXJ9L2VtYWNzL3NpdGUtbGlz cCcKbG9jYWxzdGF0ZWRpcj0nPExPQ0FMU1RBVEVESVI+JwptYW5kaXI9JyR7ZGF0YXJvb3RkaXJ9 L21hbicKbWtkaXJfcD0nJChNS0RJUl9QKScKbnNfYXBwYmluZGlyPScnCm5zX2FwcGRpcj0nJwpu c19hcHByZXNkaXI9JycKbnNfYXBwc3JjPScnCm5zX2NoZWNrX2ZpbGU9JycKbnNfc2VsZl9jb250 YWluZWQ9J25vJwpvbGRpbmNsdWRlZGlyPScvdXNyL2luY2x1ZGUnCnBkZmRpcj0nJHtkb2NkaXJ9 JwpwcmVmaXg9JzxUT09MU0RJUj4vZW1hY3MtMjQuMy45MScKcHJvZ3JhbV90cmFuc2Zvcm1fbmFt ZT0ncyx4LHgsJwpwc2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmlu JwpzaGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3JjZGlyPScuJwpzdGFuZGFyZGxpc3Bw YXRoPScke2xpc3BkaXJ9JwpzeXNjb25mZGlyPSc8RVRDRElSPicKdGFyZ2V0X2FsaWFzPScnCnZl cnNpb249JzI0LjQuNTAnCnhfZGVmYXVsdF9zZWFyY2hfcGF0aD0nL3Vzci9zaGFyZS9YMTEvJUwv JVQvJU4lQyVTOi91c3Ivc2hhcmUvWDExLyVsLyVULyVOJUMlUzovdXNyL3NoYXJlL1gxMS8lVC8l TiVDJVM6L3Vzci9zaGFyZS9YMTEvJUwvJVQvJU4lUzovdXNyL3NoYXJlL1gxMS8lbC8lVC8lTiVT Oi91c3Ivc2hhcmUvWDExLyVULyVOJVM6L3Vzci9saWIvWDExLyVMLyVULyVOJUMlUzovdXNyL2xp Yi9YMTEvJWwvJVQvJU4lQyVTOi91c3IvbGliL1gxMS8lVC8lTiVDJVM6L3Vzci9saWIvWDExLyVM LyVULyVOJVM6L3Vzci9saWIvWDExLyVsLyVULyVOJVM6L3Vzci9saWIvWDExLyVULyVOJVMnCgoj IyAtLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIEZpbGUgc3Vic3RpdHV0aW9ucy4gIyMKIyMgLS0t LS0tLS0tLS0tLS0tLS0tLSAjIwoKZGVwc19mcmFnPScuL3NyYy9hdXRvZGVwcy5taycKbGlzcF9m cmFnPScuL3NyYy9saXNwLm1rJwoKIyMgLS0tLS0tLS0tLS0gIyMKIyMgY29uZmRlZnMuaC4gIyMK IyMgLS0tLS0tLS0tLS0gIyMKCi8qIGNvbmZkZWZzLmggKi8KI2RlZmluZSBQQUNLQUdFX05BTUUg IkdOVSBFbWFjcyIKI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgojZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuNC41MCIKI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0 LjQuNTAiCiNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIK I2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIK I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgojZGVmaW5l IEVOQUJMRV9DSEVDS0lORyAxCiNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTIDEKI2RlZmlu ZSBHQ19DSEVDS19TVFJJTkdfT1ZFUlJVTiAxCiNkZWZpbmUgR0NfQ0hFQ0tfU1RSSU5HX0ZSRUVf TElTVCAxCiNkZWZpbmUgWE1BTExPQ19PVkVSUlVOX0NIRUNLIDEKI2RlZmluZSBHQ19DSEVDS19D T05TX0xJU1QgMQojZGVmaW5lIEdMWVBIX0RFQlVHIDEKI2RlZmluZSBTVERDX0hFQURFUlMgMQoj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCiNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZp bmUgX19FWFRFTlNJT05TX18gMQojZGVmaW5lIF9BTExfU09VUkNFIDEKI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKI2RlZmluZSBfR05VX1NPVVJDRSAxCiNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCiNkZWZpbmUgX0xBUkdFX0ZJTEVT IDEKI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQojZGVmaW5lIFNZU1RFTV9UWVBF ICJhaXgiCiNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVVRT TkFNRV9IIDEKI2RlZmluZSBIQVZFX1BXRF9IIDEKI2RlZmluZSBIQVZFX1VUTVBfSCAxCiNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQojZGVmaW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhB VkVfVU5JU1REX0ggMQojZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQojZGVmaW5lIEhBVkVfUFRI UkVBRF9IIDEKI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQojZGVmaW5lIEhBVkVfV0NIQVJfSCAxCiNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKI2RlZmluZSBIQVZFX1VUSU1F X0ggMQojZGVmaW5lIEhBVkVfVEVSTV9IIDEKI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQoj ZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCiNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAojZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCiNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CiNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFJfU0FfTEVOIDEKI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCiNkZWZpbmUg SEFWRV9TWVNfVkxJTUlUX0ggMQojZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQojZGVmaW5lIEhB VkVfTU1BUCAxCiNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKI2RlZmluZSBIQVZFX1hSTVNFVERBVEFC QVNFIDEKI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCiNkZWZpbmUgSEFWRV9Y U0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQojZGVmaW5lIEhBVkVfWDExUjYgMQojZGVmaW5lIEhBVkVf WF9JMThOIDEKI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCiNkZWZpbmUgSEFWRV9YMTFYVFI2IDEK I2RlZmluZSBIQVZFX1hJTSAxCiNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNr X2FyZzYgWFBvaW50ZXIKI2RlZmluZSBIQVZFX1hfU00gMQojZGVmaW5lIEhBVkVfSF9FUlJOTyAx CiNkZWZpbmUgTUFJTF9VU0VfTE9DS0YgMQojZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQojZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK I2RlZmluZSBIQVZFX0xSQU5ENDggMQojZGVmaW5lIEhBVkVfUkFORE9NIDEKI2RlZmluZSBIQVZF X1JJTlQgMQojZGVmaW5lIEhBVkVfU0VMRUNUIDEKI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCiNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQojZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCiNkZWZpbmUgSEFWRV9T VFJTSUdOQUwgMQojZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKI2RlZmluZSBIQVZFX1NFTkRUTyAx CiNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCiNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCiNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCiNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQojZGVmaW5l IEhBVkVfU1lOQyAxCiNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCiNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCiNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCiNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCiNkZWZp bmUgSEFWRV9DRk1BS0VSQVcgMQojZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCiNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCiNkZWZpbmUgSEFWRV9MT0cyIDEKI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCiNkZWZpbmUgSEFWRV9GU0VFS08gMQojZGVmaW5lIEhBVkVfR1JBTlRQVCAx CiNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQojZGVmaW5lIFRFUk1JTkZPIDEKI2RlZmluZSBI QVZFX1JFU19JTklUIDEKI2RlZmluZSBIQVZFX1RaU0VUIDEKI2RlZmluZSBIQVZFX0ZDTlRMIDEK I2RlZmluZSBIQVZFX0ZTWU5DIDEKI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCiNkZWZpbmUg SEFWRV9MU1RBVCAxCiNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKI2RlZmluZSBIQVZFX1BUSFJFQURf U0lHTUFTSyAxCiNkZWZpbmUgSEFWRV9GQ0hNT0QgMQojZGVmaW5lIEhBVkVfUkVBRExJTksgMQoj ZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCiNkZWZpbmUg SEFWRV9TWU1MSU5LIDEKI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKI2RlZmluZSBIQVZFX0dF VERUQUJMRVNJWkUgMQojZGVmaW5lIExPQ0FMVElNRV9DQUNIRSAxCiNkZWZpbmUgSEFWRV9JTkVU X1NPQ0tFVFMgMQojZGVmaW5lIEhBVkVfRk9SSyAxCiNkZWZpbmUgSEFWRV9WRk9SSyAxCiNkZWZp bmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCiNkZWZp bmUgSEFWRV9TTlBSSU5URiAxCiNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKI2RlZmlu ZSBIQVZFX01CU1RBVEVfVCAxCiNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAojZGVm aW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQojZGVmaW5lIEhBVkVfUFRZUyAxCiNkZWZpbmUgSEFW RV9TT0NLRVRTIDEKI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgojZGVmaW5lIFNFUENI QVIgJzonCiNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+ cHdfZ2Vjb3MKI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwojZGVmaW5lIElTX0RFVklDRV9TRVAo X2NfKSAwCiNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllf U0VQKQojZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKI2Rl ZmluZSBCUk9LRU5fR0VUX0NVUlJFTlRfRElSX05BTUUgMQojZGVmaW5lIERFRkFVTFRfU09VTkRf REVWSUNFICIvZGV2L2RzcCIKI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBjOyBmb3IgKGMgPSAw OyAhYyA7IGMrKykKI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUsICIv ZGV2L3B0YyIpOwojZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHN0cmNweSAocHR5X25hbWUs IHR0eW5hbWUgKGZkKSk7CiNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCiNkZWZpbmUg R0NfU0VUSk1QX1dPUktTIDEKI2RlZmluZSBIQVZFX19TRVRKTVAgMQojZGVmaW5lIFVTRyAvKiov CiNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuIgojZGVmaW5lIFRFUk1fSEVBREVSICJ4dGVybS5oIgojZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gInBvd2VycGMtaWJtLWFpeDYuMS4wLjAiCiNkZWZpbmUgRU1BQ1NfQ09O RklHX09QVElPTlMgIi0tcHJlZml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLWV4ZWMtcHJl Zml4PTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MSAtLXN5c2NvbmZkaXI9PEVUQ0RJUj4gLS1sb2Nh bHN0YXRlZGlyPTxMT0NBTFNUQVRFRElSPiAtLXdpdGhvdXQtYWxsIC0td2l0aC14ZnQ9bm8gLS13 aXRoLXgtdG9vbGtpdD1sdWNpZCAtLWRpc2FibGUtYWNsIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz1u byBhY19jdl9oZWFkZXJfWDExX2V4dGVuc2lvbnNfWHJhbmRyX2g9bm8gYWNfY3ZfaGVhZGVyX1gx MV9leHRlbnNpb25zX1hpbmVyYW1hX2g9bm8gLS1lbmFibGUtY2hlY2tpbmc9YWxsICdDRkxBR1M9 LU8wIC1nMycgJ0NQUEZMQUdTPSAtSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyAn TERGTEFHUz0gLUw8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliJyIKI2RlZmluZSBIQVZFX1hf V0lORE9XUyAxCiNkZWZpbmUgVVNFX1hfVE9PTEtJVCAxCiNkZWZpbmUgVVNFX0xVQ0lEIDEKI2Rl ZmluZSBIQVZFX1gxMSAxCiNkZWZpbmUgR05VX01BTExPQyAxCiNkZWZpbmUgUkVMX0FMTE9DIDEK I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKI2RlZmluZSBIQVZFX0FMTE9DQSAxCiNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQojZGVm aW5lIEhBVkVfQzk5X1NUUlRPTEQgMQojZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKI2RlZmlu ZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCiNkZWZp bmUgX19HRVRPUFRfUFJFRklYIHJwbF8KI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKI2RlZmlu ZSByZXN0cmljdCBfX3Jlc3RyaWN0CiNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKI2RlZmlu ZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCiNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKI2RlZmluZSBI QVZFX1NJR1NFVF9UIDEKI2RlZmluZSBIQVZFX1dDSEFSX1QgMQojZGVmaW5lIEhBVkVfREVDTF9U Wk5BTUUgMQojZGVmaW5lIEhBVkVfVFpOQU1FIDEKI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFY IDEKI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRF TlYgMQojZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQojZGVmaW5lIEhBVkVfU1RSVUNUX1VU SU1CVUYgMQojZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CiNkZWZpbmUgSEFWRV9BTExPQ0EgMQoj ZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCiNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEK I2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKI2RlZmluZSBIQVZFX0RVUDIgMQojZGVmaW5l IEhBVkVfQUNDRVNTIDEKI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKI2RlZmluZSBIQVZFX0RF Q0xfRkRPUEVORElSIDAKI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKI2RlZmluZSBQRU5ESU5H X09VVFBVVF9OX0JZVEVTIGZwLT5fcHRyIC0gZnAtPl9iYXNlCiNkZWZpbmUgSEFWRV9MSUJQRVJG U1RBVCAxCiNkZWZpbmUgSEFWRV9OTElTVF9IIDEKI2RlZmluZSBOX05BTUVfUE9JTlRFUiAxCiNk ZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUg dm9pZAojZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCiNkZWZpbmUgSEFWRV9ERUNMX19QVVRFTlYg MAojZGVmaW5lIFVTRV9BQ0wgMAojZGVmaW5lIEdOVUxJQl9GU0NBTkYgMQojZGVmaW5lIEdOVUxJ Ql9TQ0FORiAxCiNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCiNkZWZpbmUgSEFWRV9ERUNM X0xPQ0FMVElNRV9SIDEKI2RlZmluZSBIQVZFX1RJTUVSX1NFVFRJTUUgMQojZGVmaW5lIEhBVkVf VU5TRVRFTlYgMQojZGVmaW5lIEhBVkVfTElCR0VOX0ggMQojZGVmaW5lIEhBVkVfR0VUR1JPVVBT IDEKI2RlZmluZSBIQVZFX0dFVEdST1VQUyAxCiNkZWZpbmUgUkVQTEFDRV9GVU5DX1NUQVRfRklM RSAxCiNkZWZpbmUgSEFWRV9XSU5ET1dfU1lTVEVNIDEKI2RlZmluZSBFTUFDU19DT05GSUdfRkVB VFVSRVMgIiIKCmNvbmZpZ3VyZTogZXhpdCAwCg== --Boundary_(ID_C6ztgzaqMlFxtkKkEJ5b+w) Content-Type: application/octet-stream; name="anonymized-make.log" Content-transfer-encoding: base64 Content-disposition: attachment; filename=anonymized-make.log Q1dEPTxIT01FRElSPi9zcmMvZW1hY3MvMjQuMy45MSAoPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4z LjkxKQpbIC1yICJzcmMvY29uZmlnLmluIiBdIHx8ICggY2QgLiAmJiBhdXRvaGVhZGVyICkKY2Qg bGliICYmIC9iaW4vZ21ha2UgYWxsICAgICAgICAgICAgICAgICAgICAgICAgICBcCgkgIENDPSc8 VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5JyBDRkxBR1M9Jy1PMCAtZzMnIENQ UEZMQUdTPSctSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyBcCgkgIExERkxBR1M9 Jy1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgJyBNQUtFPScvYmlu L2dtYWtlJwpnbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNz LzI0LjMuOTEvdHJ1bmsvbGliJwovYmluL2dtYWtlICBhbGwtYW0KZ21ha2VbMl06IEVudGVyaW5n IGRpcmVjdG9yeSBgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkxL3RydW5rL2xpYicKZ21ha2Vb Ml06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCmdtYWtlWzJdOiBMZWF2aW5nIGRp cmVjdG9yeSBgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkxL3RydW5rL2xpYicKZ21ha2VbMV06 IExlYXZpbmcgZGlyZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvdHJ1bmsvbGli JwpjZCBsaWItc3JjICYmIC9iaW4vZ21ha2UgYWxsICAgICAgICAgICAgICAgICAgICAgICAgICBc CgkgIENDPSc8VE9PTFNESVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5JyBDRkxBR1M9Jy1P MCAtZzMnIENQUEZMQUdTPSctSTxUT09MU0RJUj4vZW1hY3MtMjQuMy45MS9pbmNsdWRlJyBcCgkg IExERkxBR1M9Jy1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgJyBN QUtFPScvYmluL2dtYWtlJwpnbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGA8SE9NRURJUj4v c3JjL2VtYWNzLzI0LjMuOTEvdHJ1bmsvbGliLXNyYycKZ21ha2VbMV06IE5vdGhpbmcgdG8gYmUg ZG9uZSBmb3IgYGFsbCcuCmdtYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgPEhPTUVESVI+L3Ny Yy9lbWFjcy8yNC4zLjkxL3RydW5rL2xpYi1zcmMnCmRpcnN0YXRlPScuYnpyL2NoZWNrb3V0L2Rp cnN0YXRlJzsJCQkJXAoJdmNzd2l0bmVzcz0nJChzcmNkaXIpLy4uLyckZGlyc3RhdGU7CQkJCVwK CVsgLXIgIi4vJGRpcnN0YXRlIiBdIHx8IHZjc3dpdG5lc3M9Jyc7CQkJXAoJY2Qgc3JjIHx8IGV4 aXQ7CQkJCQkJCVwKCWJvb3Q9Ym9vdHN0cmFwLWVtYWNzOwkJCQkJXAoJWyAhIC14ICIkYm9vdCIg XSB8fCBib290PScnOwkJCQkJXAoJL2Jpbi9nbWFrZSBhbGwgCQkJCQkJXAoJICBDQz0nPFRPT0xT RElSPi9nY2MtNC44L2Jpbi9nY2MgLXN0ZD1nbnU5OScgQ0ZMQUdTPSctTzAgLWczJyBDUFBGTEFH Uz0nLUk8VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvaW5jbHVkZScJCVwKCSAgTERGTEFHUz0nLUw8 VE9PTFNESVI+L2VtYWNzLTI0LjMuOTEvbGliIC1XbCwtYmJpZ3RvYyAnIE1BS0U9Jy9iaW4vZ21h a2UnIEJPT1RTVFJBUEVNQUNTPSIkYm9vdCIJXAoJICBWQ1NXSVRORVNTPSIkdmNzd2l0bmVzcyIK Z21ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgPEhPTUVESVI+L3NyYy9lbWFjcy8yNC4zLjkx L3RydW5rL3NyYycKY2QgLi4vbHdsaWIgJiYgXAoJICAvYmluL2dtYWtlIC13IENDPSc8VE9PTFNE SVI+L2djYy00LjgvYmluL2djYyAtc3RkPWdudTk5JyBDRkxBR1M9Jy1PMCAtZzMnIE1BS0U9Jy9i aW4vZ21ha2UnIFwKCSAgICBsaWJsdy5hCmdtYWtlWzJdOiBFbnRlcmluZyBkaXJlY3RvcnkgYDxI T01FRElSPi9zcmMvZW1hY3MvMjQuMy45MS90cnVuay9sd2xpYicKZ21ha2VbMl06IGBsaWJsdy5h JyBpcyB1cCB0byBkYXRlLgpnbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYDxIT01FRElSPi9z cmMvZW1hY3MvMjQuMy45MS90cnVuay9sd2xpYicKPFRPT0xTRElSPi9nY2MtNC44L2Jpbi9nY2Mg LXN0ZD1nbnU5OSAtRGVtYWNzICAtSS4gLUkuIC1JLi4vbGliIC1JLi8uLi9saWIgICAgICAgICAg ICAgICAgICAgIC1NTUQgLU1GIGRlcHMvLmQgLU1QICAgICAtTzAgLWczICAtV2wsLWJub2RlbGNz ZWN0IC1MPFRPT0xTRElSPi9lbWFjcy0yNC4zLjkxL2xpYiAtV2wsLWJiaWd0b2MgIFwKCSAgLW8g dGVtYWNzICB2bS1saW1pdC5vIGRpc3BuZXcubyBmcmFtZS5vIHNjcm9sbC5vIHhkaXNwLm8gbWVu dS5vIHhtZW51Lm8gd2luZG93Lm8gY2hhcnNldC5vIGNvZGluZy5vIGNhdGVnb3J5Lm8gY2NsLm8g Y2hhcmFjdGVyLm8gY2hhcnRhYi5vIGJpZGkubyBjbS5vIHRlcm0ubyB0ZXJtaW5hbC5vIHhmYWNl cy5vIHh0ZXJtLm8geGZucy5vIHhzZWxlY3QubyB4cmRiLm8geHNtZm5zLm8geHNldHRpbmdzLm8g ICBlbWFjcy5vIGtleWJvYXJkLm8gbWFjcm9zLm8ga2V5bWFwLm8gc3lzZGVwLm8gYnVmZmVyLm8g ZmlsZWxvY2subyBpbnNkZWwubyBtYXJrZXIubyBtaW5pYnVmLm8gZmlsZWlvLm8gZGlyZWQubyBj bWRzLm8gY2FzZXRhYi5vIGNhc2VmaWRkbGUubyBpbmRlbnQubyBzZWFyY2gubyByZWdleC5vIHVu ZG8ubyBhbGxvYy5vIGRhdGEubyBkb2MubyBlZGl0Zm5zLm8gY2FsbGludC5vIGV2YWwubyBmbG9h dGZucy5vIGZucy5vIGZvbnQubyBwcmludC5vIGxyZWFkLm8gc3ludGF4Lm8gdW5leGFpeC5vIGJ5 dGVjb2RlLm8gcHJvY2Vzcy5vIGdudXRscy5vIGNhbGxwcm9jLm8gcmVnaW9uLWNhY2hlLm8gc291 bmQubyBhdGltZXIubyBkb3BybnQubyBpbnRlcnZhbHMubyB0ZXh0cHJvcC5vIGNvbXBvc2l0ZS5v IHhtbC5vICBwcm9maWxlci5vIGRlY29tcHJlc3MubyAgICAgeGZvbnQubyAgZm9udHNldC5vIGZy aW5nZS5vIGltYWdlLm8gICB0ZXJtaW5mby5vIGxhc3RmaWxlLm8gZ21hbGxvYy5vIHJhbGxvYy5v ICB3aWRnZXQubyAgLi4vbGliL2xpYmdudS5hICAgICAuLi9sd2xpYi9saWJsdy5hICAgLWxYYXcg LWxYbXUgLWxYdCAtbFNNIC1sSUNFIC1sWGV4dCAtbFgxMSAgICAgICAgICAgICAgICAgIC1scnRz IC1sSU0gLWxpY29udiAtbGN1cnNlcyAtbHBlcmZzdGF0ICAgICAgICAgLWxwdGhyZWFkICAtbG0g CmxkOiAwNzExLTMxNyBFUlJPUjogVW5kZWZpbmVkIHN5bWJvbDogLlhwbVJlYWRGaWxlVG9QaXht YXAKbGQ6IDA3MTEtMzQ1IFVzZSB0aGUgLWJsb2FkbWFwIG9yIC1ibm9xdWlldCBvcHRpb24gdG8g b2J0YWluIG1vcmUgaW5mb3JtYXRpb24uCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgOCBl eGl0IHN0YXR1cwpnbWFrZVsxXTogKioqIFt0ZW1hY3NdIEVycm9yIDEKZ21ha2VbMV06IExlYXZp bmcgZGlyZWN0b3J5IGA8SE9NRURJUj4vc3JjL2VtYWNzLzI0LjMuOTEvdHJ1bmsvc3JjJwpnbWFr ZTogKioqIFtzcmNdIEVycm9yIDIK --Boundary_(ID_C6ztgzaqMlFxtkKkEJ5b+w)-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 02 12:16:03 2014 Received: (at 17598) by debbugs.gnu.org; 2 Jun 2014 16:16:03 +0000 Received: from localhost ([127.0.0.1]:41084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrUty-0005U9-Cr for submit@debbugs.gnu.org; Mon, 02 Jun 2014 12:16:03 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:52321 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrUtr-0005Tr-QN for 17598@debbugs.gnu.org; Mon, 02 Jun 2014 12:15:56 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WrUtq-0001g2-1i; Mon, 02 Jun 2014 12:15:50 -0400 From: Glenn Morris To: Gilles PION Subject: Re: bug#17598: anonymized-config.log is from Emacs 24.3 References: <53895843.3000705@cs.ucla.edu> X-Spook: Sundevil ammunition Bletchley Park Hamas nitrate X-Ran: `,~*DqN~\n4~7<4,B5c]P"2yf>Zh},m(NQZ9_,;_n{<;iM]hp=JXpzi/X"p0c43M7QBim@ X-Hue: yellow X-Debbugs-No-Ack: yes X-Attribution: GM Date: Mon, 02 Jun 2014 12:15:49 -0400 In-Reply-To: (Gilles PION's message of "Mon, 02 Jun 2014 18:08:13 +0200") 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: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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 (-----) Thanks for helping to debug this, but the attachments are rather large. Please could you compress any future logs before attaching them? TIA. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 02 12:24:38 2014 Received: (at 17598) by debbugs.gnu.org; 2 Jun 2014 16:24:38 +0000 Received: from localhost ([127.0.0.1]:41093 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrV2H-0005lz-PT for submit@debbugs.gnu.org; Mon, 02 Jun 2014 12:24:38 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:49443) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrV2B-0005lP-Ds for 17598@debbugs.gnu.org; Mon, 02 Jun 2014 12:24:32 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 3A72BA60019; Mon, 2 Jun 2014 09:24:21 -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 Y94emgZoTM8L; Mon, 2 Jun 2014 09:24:12 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id B3469A60018; Mon, 2 Jun 2014 09:24:12 -0700 (PDT) Message-ID: <538CA52C.1010700@cs.ucla.edu> Date: Mon, 02 Jun 2014 09:24:12 -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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5384B167.8040704@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <"OFA2A54B66.55 <5388FAA6.5050202"@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: 17598 Cc: 17598@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 (---) On 06/02/2014 08:53 AM, Gilles PION wrote: > > Unfortunately, using xlc, compilation fails with the following error > (I'm using trunk-r117204.tgz): If you're using the trunk, that should be fixed in trunk bzr 117219. Please upgrade to the latest version. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 02 12:35:17 2014 Received: (at 17598) by debbugs.gnu.org; 2 Jun 2014 16:35:17 +0000 Received: from localhost ([127.0.0.1]:41105 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrVCe-00069N-Ao for submit@debbugs.gnu.org; Mon, 02 Jun 2014 12:35:16 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:59884 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrVCc-000695-32 for 17598@debbugs.gnu.org; Mon, 02 Jun 2014 12:35:15 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1308302; Mon, 02 Jun 2014 18:35:04 +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 <0N6J00MW6VEGVL@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Mon, 02 Jun 2014 18:35:04 +0200 (MEST) Date: Mon, 02 Jun 2014 18:35:02 +0200 From: Gilles PION Subject: Re: bug#17598: anonymized-config.log is from Emacs 24.3 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 02/06/2014 18:35:03, Serialize complete at 02/06/2014 18:35:03 X-KeepSent: 9BDB3ED9:76E1870D-C1257CEB:005B0D70; type=4; name=$KeepSent References: <53895843.3000705@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_Wa1LFJbcnq4QFjtyK3dVqw)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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 (/) This is a multipart message in MIME format. --Boundary_(ID_Wa1LFJbcnq4QFjtyK3dVqw) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > Thanks for helping to debug this, but the attachments are rather large. > Please could you compress any future logs before attaching them? Sure, I'll do it next time Sorry for that -- Gilles . 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_Wa1LFJbcnq4QFjtyK3dVqw) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT  

> Thanks for helping to debug this, but the attachments are rather large.
> Please could you compress any future logs before attaching them?

Sure, I'll do it next time

Sorry for that

--
Gilles
. 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_Wa1LFJbcnq4QFjtyK3dVqw)-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 02 12:38:06 2014 Received: (at 17598) by debbugs.gnu.org; 2 Jun 2014 16:38:06 +0000 Received: from localhost ([127.0.0.1]:41109 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrVFJ-0006GD-E5 for submit@debbugs.gnu.org; Mon, 02 Jun 2014 12:38:06 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:59900 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrVFB-0006Fm-3F for 17598@debbugs.gnu.org; Mon, 02 Jun 2014 12:37:58 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1308387; Mon, 02 Jun 2014 18:37:44 +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 <0N6J00M31VIWVL@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Mon, 02 Jun 2014 18:37:44 +0200 (MEST) Date: Mon, 02 Jun 2014 18:37:42 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <538CA52C.1010700@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 02/06/2014 18:37:44, Serialize complete at 02/06/2014 18:37:44 X-KeepSent: 7A7745EE:8BD23939-C1257CEB:005B4147; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <"OFA2A54B66.55 <5388FAA6.5050202"@cs.ucla.edu> <"OFBF3D62DF.C0CF4BC1-ONC1257CEB.005 <538CA52C.1010700"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_JQGF9kvsVNkFIUn1wGd61g)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@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 (/) This is a multipart message in MIME format. --Boundary_(ID_JQGF9kvsVNkFIUn1wGd61g) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > > > Unfortunately, using xlc, compilation fails with the following error > > (I'm using trunk-r117204.tgz): > > If you're using the trunk, that should be fixed in trunk bzr 117219. > Please upgrade to the latest version. I'm unable to use bzr here, I need link to a .tgz file. -- Gilles . 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_JQGF9kvsVNkFIUn1wGd61g) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT
> >
> > Unfortunately, using xlc, compilation fails with the  following error
> > (I'm using trunk-r117204.tgz):
>
> If you're using the trunk, that should be fixed in trunk bzr 117219.
> Please upgrade to the latest version.

I'm unable to use bzr here,
I need link to a .tgz file.
--
Gilles
. 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_JQGF9kvsVNkFIUn1wGd61g)-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 02 12:52:49 2014 Received: (at 17598) by debbugs.gnu.org; 2 Jun 2014 16:52:49 +0000 Received: from localhost ([127.0.0.1]:41140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrVTY-0006lV-Hg for submit@debbugs.gnu.org; Mon, 02 Jun 2014 12:52:48 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:53133 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrVTS-0006lG-BQ for 17598@debbugs.gnu.org; Mon, 02 Jun 2014 12:52:42 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WrVTQ-0007ad-IW; Mon, 02 Jun 2014 12:52:36 -0400 From: Glenn Morris To: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <5388FAA6.5050202"@cs.ucla.edu> <538CA52C.1010700"@cs.ucla.edu> X-Spook: Zachawi Freeh White Water nuclear Saudi Arabia Exon Shell X-Ran: {3rD6}'gmMkvis)9%{Kj[:EP8A8\Wd?eI=$VoBrJp/#+<:m!a-EETKYR_RM;METRb{C>(@ X-Hue: white X-Debbugs-No-Ack: yes X-Attribution: GM Date: Mon, 02 Jun 2014 12:52:36 -0400 In-Reply-To: (Gilles PION's message of "Mon, 02 Jun 2014 18:37:42 +0200") Message-ID: <6r4378d9n.fsf@fencepost.gnu.org> 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: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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 (-----) Gilles PION wrote: > I need link to a .tgz file. http://hydra.nixos.org/build/11429722/download/1/emacs-24.4.50.tar.gz You should be able to always find the latest one by going to http://hydra.nixos.org/jobset/gnu/emacs-trunk Click on the uppermost number that has any green digits in its row. Eg 1122062 at time of writing. On the next page, click on the number for the "tarball" row. Then click on "source distribution" where it says "build products". From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 01:28:48 2014 Received: (at 17598) by debbugs.gnu.org; 3 Jun 2014 05:28:48 +0000 Received: from localhost ([127.0.0.1]:41504 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrhHD-0003VJ-UY for submit@debbugs.gnu.org; Tue, 03 Jun 2014 01:28:48 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:2033 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrhHB-0003V1-78 for 17598@debbugs.gnu.org; Tue, 03 Jun 2014 01:28:46 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1317901; Tue, 03 Jun 2014 07:28:33 +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 <0N6K00AONV7L2L@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Tue, 03 Jun 2014 07:28:33 +0200 (MEST) Date: Tue, 03 Jun 2014 07:28:30 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <6r4378d9n.fsf@fencepost.gnu.org> 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 03/06/2014 07:28:33, Serialize complete at 03/06/2014 07:28:33 X-KeepSent: 415D45B9:B88EA5A1-C1257CEB:005EABCE; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> Content-Type: multipart/alternative; boundary="Boundary_(ID_gyXqk4J8NNT/iqBwag6+bQ)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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 (/) This is a multipart message in MIME format. --Boundary_(ID_gyXqk4J8NNT/iqBwag6+bQ) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT I had to add "LIBS='-lXpm'" do configure environment to prevent the following error at link time: ld: 0711-317 ERROR: Undefined symbol: .XpmReadFileToPixmap ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. gmake[1]: *** [temacs] Error 8 gmake[1]: Leaving directory `/src/emacs/24.3.91/emacs-24.4.50/src' gmake: *** [src] Error 2 But it was worth the shot since ... ... so far so good No crash yet I've played a bit with "customize" options Note that I've compiled this build without any compiler optimization. Could you suggest sensible configure options to rebuilt a definive version and to confirm everything is OK now? -- Gilles . 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_gyXqk4J8NNT/iqBwag6+bQ) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT
I had to add "LIBS='-lXpm'" do configure environment to prevent the following error at link time:

ld: 0711-317 ERROR: Undefined symbol: .XpmReadFileToPixmap
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
gmake[1]: *** [temacs] Error 8
gmake[1]: Leaving directory `<HOMEDIR>/src/emacs/24.3.91/emacs-24.4.50/src'
gmake: *** [src] Error 2

But it was worth the shot since ...
... so far so good
No crash yet

I've played a bit with "customize" options

Note that I've compiled this build without any compiler optimization.

Could you suggest sensible configure options to rebuilt a definive version and to confirm everything is OK now?
--
Gilles
. 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_gyXqk4J8NNT/iqBwag6+bQ)-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 03:04:44 2014 Received: (at 17598) by debbugs.gnu.org; 3 Jun 2014 07:04:44 +0000 Received: from localhost ([127.0.0.1]:41555 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wrim3-0006h7-HV for submit@debbugs.gnu.org; Tue, 03 Jun 2014 03:04:43 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:34939) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wrim2-0006go-AZ for 17598@debbugs.gnu.org; Tue, 03 Jun 2014 03:04:42 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id EDBF7A60031; Tue, 3 Jun 2014 00:04:36 -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 foL5uPUCpiWG; Tue, 3 Jun 2014 00:04:28 -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 61F31A6002B; Tue, 3 Jun 2014 00:04:28 -0700 (PDT) Message-ID: <538D737C.7060308@cs.ucla.edu> Date: Tue, 03 Jun 2014 00:04:28 -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 , Glenn Morris Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> 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: 17598 Cc: 17598@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: > No crash yet Yay! > I had to add "LIBS='-lXpm'" do configure environment to prevent the > following error at link time: Sorry, I'm missing some context here. How did you configure Emacs (what were the arguments to 'configure')? Which version of Emacs were you building? From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 03:11:57 2014 Received: (at 17598) by debbugs.gnu.org; 3 Jun 2014 07:11:57 +0000 Received: from localhost ([127.0.0.1]:41561 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Writ2-0006uv-OF for submit@debbugs.gnu.org; Tue, 03 Jun 2014 03:11:57 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:2330 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Writ0-0006ui-21 for 17598@debbugs.gnu.org; Tue, 03 Jun 2014 03:11:55 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1320249; Tue, 03 Jun 2014 09:11:44 +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 <0N6K00AVXZZK2L@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Tue, 03 Jun 2014 09:11:44 +0200 (MEST) Date: Tue, 03 Jun 2014 09:11:43 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <538D737C.7060308@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 03/06/2014 09:11:44, Serialize complete at 03/06/2014 09:11:44 X-KeepSent: 59C5E19C:74974300-C1257CEC:00271965; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_wYGiXQrBtcaBhRccvF+A7A)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Glenn Morris 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 (/) This is a multipart message in MIME format. --Boundary_(ID_wYGiXQrBtcaBhRccvF+A7A) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > I had to add "LIBS='-lXpm'" do configure environment to prevent the > > following error at link time: > > Sorry, I'm missing some context here. How did you configure Emacs (what > were the arguments to 'configure')? Which version of Emacs were you > building? Version 24.4.50, downloaded yesterday, download link given by Glen Morris. Configure: CFLAGS="-O0" LIBS="-lXpm"./configure --prefix=/emacs-24.4.50 --exec-prefix=/emacs-24.4.50 --sysconfdir= --localstatedir= --without-all --with-x-toolkit=lucid --enable-checking=all NB: I'm going back to training session for a few hours -- Gilles . 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_wYGiXQrBtcaBhRccvF+A7A) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT
> > I had to add "LIBS='-lXpm'" do configure environment to prevent the
> > following error at link time:
>
> Sorry, I'm missing some context here.  How did you configure Emacs (what
> were the arguments to 'configure')?  Which version of Emacs were you
> building?


Version 24.4.50, downloaded yesterday, download link given by Glen Morris.

Configure:

CFLAGS="-O0" LIBS="-lXpm"./configure --prefix=<TOOLSDIR>/emacs-24.4.50 --exec-prefix=<TOOLSDIR>/emacs-24.4.50 --sysconfdir=<ETCDIR> --localstatedir=<LOCALSTATEDIR> --without-all --with-x-toolkit=lucid --enable-checking=all


NB: I'm going back to training session for a few hours

--
Gilles
. 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_wYGiXQrBtcaBhRccvF+A7A)-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 10:02:06 2014 Received: (at 17598) by debbugs.gnu.org; 3 Jun 2014 14:02:06 +0000 Received: from localhost ([127.0.0.1]:42364 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrpHu-0004g2-7W for submit@debbugs.gnu.org; Tue, 03 Jun 2014 10:02:06 -0400 Received: from forward8l.mail.yandex.net ([84.201.143.141]:52034) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrpHo-0004fR-CY for 17598@debbugs.gnu.org; Tue, 03 Jun 2014 10:02:00 -0400 Received: from smtp1o.mail.yandex.net (smtp1o.mail.yandex.net [37.140.190.26]) by forward8l.mail.yandex.net (Yandex) with ESMTP id 5073A1A413E4; Tue, 3 Jun 2014 18:01:49 +0400 (MSK) Received: from smtp1o.mail.yandex.net (localhost [127.0.0.1]) by smtp1o.mail.yandex.net (Yandex) with ESMTP id A6656DE1B20; Tue, 3 Jun 2014 18:01:48 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp1o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id YOr4o0547g-1mjqcjvB; Tue, 3 Jun 2014 18:01:48 +0400 (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) X-Yandex-Uniq: 9718f236-738d-4aac-ba48-d680aadc3fa9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1401804108; bh=4eGv5hrv5ixcliOg0554J9o034GULiOohciG7gYI7Tg=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=gBC52hIaGPbXBlzPw62x/wGWU3Y3PI8+ubw4qqX/yljtp8ogMDQZTOHCWzvYRvSkw qXL2oaL/TuvycTdKNwE5TA9w7LuRdK6BbbysGq6Mg89I0QV5WJPNmVQYqJZkBMGMtL jA7HDC2aS8jnhuDrj4V+ScCIPLIHxBEV9CjdlRP8= Authentication-Results: smtp1o.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <538DD54B.7000408@yandex.ru> Date: Tue, 03 Jun 2014 18:01:47 +0400 From: Dmitry Antipov 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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <538594BD.7090108@yandex.ru> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@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.0 (/) On 06/03/2014 09:28 AM, Gilles PION wrote: > Could you suggest sensible configure options to rebuilt > a definitive version and to confirm everything is OK now? Hm...here is what I can suggest for trunk on AIX. 1. Choose the compiler. IIUC gcc can't create 64-bit binaries on AIX, but xlc can (-q64). Note build with gcc is far more well tested, and I have no ideas whether unexec will work for 64-bit XCOFF binary. 2. Choose CFLAGS. If you don't want to debug, just use '-O2' for both gcc and xlc. If you want to debug, add '-g3' for gcc and up to '-g9' for xlc (for the latter, please report your results!). If you want to fight for 1% with the very unexpected results, try: for gcc: - determine CPU type with 'prtconf | grep -i "Processor Type"' ==> Processor Type: PowerPC_POWERX (where X is Power core generation) and use CFLAGS='-O3 -mcpu=powerX -mtune=powerX' for xlc, try '-O5'. 3. Choose configuration options. For some weird reasons, you can't link without -lXpm (probably some other library from vendor's X requires it). So use: --without-all --with-xpm to get the bare minimum executable with X support. This is pretty enough to do basic programming tasks (i.e. editing source code). If you want more features, look through 'configure --help' output, choose the features you want, install required external libraries, and then try '--without-all --with-FEATURE'. Note that just 'configure' (with no options) means the most feature-rich configuration which may be compiled with installed headers and libraries. Dmitry From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 12:54:38 2014 Received: (at 17598) by debbugs.gnu.org; 3 Jun 2014 16:54:38 +0000 Received: from localhost ([127.0.0.1]:42447 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wrrys-00032c-6m for submit@debbugs.gnu.org; Tue, 03 Jun 2014 12:54:38 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:59221) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wrryk-00032C-TL for 17598@debbugs.gnu.org; Tue, 03 Jun 2014 12:54:31 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 1D4F9A60029; Tue, 3 Jun 2014 09:54: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 uHPfUSIdFpiu; Tue, 3 Jun 2014 09:54:15 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 6BB5DA60004; Tue, 3 Jun 2014 09:54:15 -0700 (PDT) Message-ID: <538DFDB7.5010706@cs.ucla.edu> Date: Tue, 03 Jun 2014 09:54:15 -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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 17598 Cc: 17598@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: -1.3 (-) On 06/03/2014 12:11 AM, Gilles PION wrote: > > CFLAGS="-O0" LIBS="-lXpm"./configure --prefix=/emacs-24.4.50 > --exec-prefix=/emacs-24.4.50 --sysconfdir= > --localstatedir= --without-all --with-x-toolkit=lucid > --enable-checking=all Thanks, this suggests that it's one of the optional libraries (perhaps an image library) that's causing the problem. Please try to narrow it down to which library it is. If an ordinary build links 37 libraries and the above build links 5 libraries (use "ldd src/temacs" to find out), then perhaps one of the 32 omitted libraries is causing the problem; so try linking half of them (16 + the 5 essential ones) and see whether the problem recurs. Then you can use binary search to narrow it down to the guilty library. > m...here is what I can suggest for trunk on AIX. > > 1. Choose the compiler. > IIUC gcc can't create 64-bit binaries on AIX, but xlc can (-q64). > Note build with gcc is far more well tested, and I have no ideas > whether unexec will work for 64-bit XCOFF binary. I suggest using 32-bit gcc. 64-bit unexec definitely does not work. xlc should work on the trunk now, but as you mentioned it's less well-tested. > For some weird reasons, you can't link without -lXpm (probably some > other library from vendor's X requires it). So use: It's IBM's -lXaw; its Pixmap.o defines a function XPixmapLoader that calls XpmReadFileToPixmap, but it doesn't have the proper information in the shared library to let the linker find -lXpm on its own. Presumably we can work around this problem by the approriate hacking in configure.ac but that's lower priority than fixing the real bug here. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 13:35:45 2014 Received: (at 17598) by debbugs.gnu.org; 3 Jun 2014 17:35:45 +0000 Received: from localhost ([127.0.0.1]:42477 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wrsce-0004U6-Qw for submit@debbugs.gnu.org; Tue, 03 Jun 2014 13:35:44 -0400 Received: from forward7l.mail.yandex.net ([84.201.143.140]:46292) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WrscW-0004Tc-9V for 17598@debbugs.gnu.org; Tue, 03 Jun 2014 13:35:36 -0400 Received: from smtp2o.mail.yandex.net (smtp2o.mail.yandex.net [37.140.190.27]) by forward7l.mail.yandex.net (Yandex) with ESMTP id 0F84DBC1340; Tue, 3 Jun 2014 21:35:24 +0400 (MSK) Received: from smtp2o.mail.yandex.net (localhost [127.0.0.1]) by smtp2o.mail.yandex.net (Yandex) with ESMTP id 8D89036A1C84; Tue, 3 Jun 2014 21:35:24 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp2o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id yFQDH9S3PC-ZNc02pFS; Tue, 3 Jun 2014 21:35:23 +0400 (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) X-Yandex-Uniq: 7c25e32d-6e24-4ae8-b5ed-a54c6a2ab2dc DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1401816923; bh=YOp9JBdfw42LC+krN81vRlemyRzChkU5M1WenzLlrlA=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=tNUNTbMyu/mTbE56k++Wr4YR1mCBpg4xnOCF9q2EN7g4Ez3n/kfoT759BkS0zs8os nW9NQE9xTi8D+R5yCMrr4eIM/hGHo9SvLSgvyVS2R7zTG+eakuv0rQYLerdppmyk0Z W5hsZ/CSBC93qSb6o5lvFcrtDVs28d/Tirx6LRvY= Authentication-Results: smtp2o.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <538E075B.90806@yandex.ru> Date: Tue, 03 Jun 2014 21:35:23 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Paul Eggert Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <538DFDB7.5010706@cs.ucla.edu> In-Reply-To: <538DFDB7.5010706@cs.ucla.edu> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 Cc: Gilles PION , 17598@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.0 (/) On 06/03/2014 08:54 PM, Paul Eggert wrote: > It's IBM's -lXaw; its Pixmap.o defines a function XPixmapLoader that > calls XpmReadFileToPixmap, but it doesn't have the proper information > in the shared library to let the linker find -lXpm on its own. Ugh. This looks like a new etc/PROBLEMS entry, isn't it? Dmitry From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 02:32:18 2014 Received: (at 17598) by debbugs.gnu.org; 4 Jun 2014 06:32:18 +0000 Received: from localhost ([127.0.0.1]:42946 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ws4kC-0005GG-Ud for submit@debbugs.gnu.org; Wed, 04 Jun 2014 02:32:17 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:12217 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ws4k9-0005Fx-5S for 17598@debbugs.gnu.org; Wed, 04 Jun 2014 02:32:14 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1357098; Wed, 04 Jun 2014 08:31:55 +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 <0N6M00FY6ST7A0@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 04 Jun 2014 08:31:55 +0200 (MEST) Date: Wed, 04 Jun 2014 08:31:53 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <538D737C.7060308@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 04/06/2014 08:31:54, Serialize complete at 04/06/2014 08:31:54 X-KeepSent: 590EB3AB:AC6F8748-C1257CED:00235BC4; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_DXWMrb2/W9nDfympPxFPnw)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Glenn Morris 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 (/) This is a multipart message in MIME format. --Boundary_(ID_DXWMrb2/W9nDfympPxFPnw) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > No crash yet > > Yay! > Oh no! After having recompiled with IBM xlc default optimization level (-O) , entering "customize-group" crashes again ("Fatal error 11: Segmentation violationMemory fault") using either temacs or dumped emacs makes no difference. Configure options: ./configure --prefix=/emacs-24.4.50 --exec-prefix=/emacs-24.4.50 --sysconfdir= --localstatedir= --without-all --with-x-toolkit=lucid --with-xpm --enable-locallisppath= --enable-checking=all will try to remove "--with xpm" ldd results: ./emacs-24.4.50/src/temacs needs: /usr/lib/libc.a(shr.o) /usr/lib/libpthread.a(shr_xpg5.o) /usr/lib/libXt.a(shr4.o) /usr/lib/libX11.a(shr4.o) /usr/lib/libcurses.a(shr42.o) /usr/lib/libXpm.a(shr.o) /usr/lib/libpthread.a(shr_comm.o) /usr/lib/libXext.a(shr.o) /usr/lib/libICE.a(shr.o) /usr/lib/libSM.a(shr.o) /usr/lib/libperfstat.a(shr.o) /unix /usr/lib/libcrypt.a(shr.o) /usr/lib/libpthreads.a(shr_comm.o) /usr/lib/libXi.a(shr.o) /usr/lib/libpthreads.a(shr_xpg5.o) /usr/lib/libiconv.a(shr4.o) /usr/lib/libIM.a(shr.o) /usr/lib/libgaimisc.a(shr.o) /usr/lib/libgair4.a(shr.o) /usr/lib/libcfg.a(shr.o) /usr/lib/libodm.a(shr.o) /usr/lib/liblvm.a(shr.o) /usr/lib/libcorcfg.a(shr.o) /usr/lib/libsrc.a(shr.o) . 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_DXWMrb2/W9nDfympPxFPnw) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT
> > No crash yet
>
> Yay!
>


Oh no!

After having recompiled with IBM xlc default optimization level (-O) , entering "customize-group" crashes again  ("Fatal error 11: Segmentation violationMemory fault")

using either temacs or dumped emacs makes no difference.

Configure options:
./configure --prefix=<TOOLSDIR>/emacs-24.4.50 --exec-prefix=<TOOLSDIR>/emacs-24.4.50 --sysconfdir=<ETCDIR> --localstatedir=<LOCALSTATEDIR> --without-all --with-x-toolkit=lucid --with-xpm --enable-locallisppath=<LOCALLISPPATH> --enable-checking=all


will try to remove "--with xpm"

ldd results:
./emacs-24.4.50/src/temacs needs:
         /usr/lib/libc.a(shr.o)
         /usr/lib/libpthread.a(shr_xpg5.o)
         /usr/lib/libXt.a(shr4.o)
         /usr/lib/libX11.a(shr4.o)
         /usr/lib/libcurses.a(shr42.o)
         /usr/lib/libXpm.a(shr.o)
         /usr/lib/libpthread.a(shr_comm.o)
         /usr/lib/libXext.a(shr.o)
         /usr/lib/libICE.a(shr.o)
         /usr/lib/libSM.a(shr.o)
         /usr/lib/libperfstat.a(shr.o)
         /unix
         /usr/lib/libcrypt.a(shr.o)
         /usr/lib/libpthreads.a(shr_comm.o)
         /usr/lib/libXi.a(shr.o)
         /usr/lib/libpthreads.a(shr_xpg5.o)
         /usr/lib/libiconv.a(shr4.o)
         /usr/lib/libIM.a(shr.o)
         /usr/lib/libgaimisc.a(shr.o)
         /usr/lib/libgair4.a(shr.o)
         /usr/lib/libcfg.a(shr.o)
         /usr/lib/libodm.a(shr.o)
         /usr/lib/liblvm.a(shr.o)
         /usr/lib/libcorcfg.a(shr.o)
         /usr/lib/libsrc.a(shr.o)

. 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_DXWMrb2/W9nDfympPxFPnw)-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 02:59:29 2014 Received: (at 17598) by debbugs.gnu.org; 4 Jun 2014 06:59:29 +0000 Received: from localhost ([127.0.0.1]:42959 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ws5AW-0006FQ-2j for submit@debbugs.gnu.org; Wed, 04 Jun 2014 02:59:28 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:12302 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ws5AT-0006Ey-F2 for 17598@debbugs.gnu.org; Wed, 04 Jun 2014 02:59:26 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1357829; Wed, 04 Jun 2014 08:59:16 +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 <0N6M00F3YU2RA0@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 04 Jun 2014 08:59:16 +0200 (MEST) Date: Wed, 04 Jun 2014 08:59:11 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: 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 04/06/2014 08:59:15, Serialize complete at 04/06/2014 08:59:15 X-KeepSent: 20FCFAFD:75399259-C1257CED:0025CCC9; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_3VfjWj3S5iaEdB4VmOX/5Q)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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_3VfjWj3S5iaEdB4VmOX/5Q) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > will try to remove "--with xpm" > Done and no crashes yet I'm thinking testing a gcc build using same configure settings or alse aix higher optimization level (O5) Please be patient, going to be out of office for a few hours again. (NB: added Dmitryi in CC list) -- Gilles . 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_3VfjWj3S5iaEdB4VmOX/5Q) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT
> will try to remove "--with xpm"

>

Done and no crashes yet

I'm thinking testing a gcc build using same configure settings or alse aix higher optimization level (O5)

Please be patient, going to be out of office for a few hours again.

(NB: added Dmitryi in CC list)


--
Gilles
. 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_3VfjWj3S5iaEdB4VmOX/5Q)-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 03:07:10 2014 Received: (at 17598) by debbugs.gnu.org; 4 Jun 2014 07:07:10 +0000 Received: from localhost ([127.0.0.1]:42963 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ws5Hx-0006Wt-M8 for submit@debbugs.gnu.org; Wed, 04 Jun 2014 03:07:10 -0400 Received: from forward2l.mail.yandex.net ([84.201.143.145]:50945) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ws5Hv-0006WK-5V for 17598@debbugs.gnu.org; Wed, 04 Jun 2014 03:07:08 -0400 Received: from smtp1o.mail.yandex.net (smtp1o.mail.yandex.net [37.140.190.26]) by forward2l.mail.yandex.net (Yandex) with ESMTP id 8F0C71AC124F; Wed, 4 Jun 2014 11:07:00 +0400 (MSK) Received: from smtp1o.mail.yandex.net (localhost [127.0.0.1]) by smtp1o.mail.yandex.net (Yandex) with ESMTP id 190ADDE15EC; Wed, 4 Jun 2014 11:07:00 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp1o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id vkEcWPEz16-6xaiGVdR; Wed, 4 Jun 2014 11:06:59 +0400 (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) X-Yandex-Uniq: 2ffbeb52-89eb-481e-9cc6-3acbfa0029fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1401865619; bh=OmQzOw9YCD6BZphEnegwKFPxsorJ5md/TiJz88yqQQ8=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=H+8DxUkw+D9vF5GjI0Nl0Bw8nIFFfVIHGifkuZyZLiBiWSGixlhQOrJz7NK2RrXEI 6NdhzVbDjoK3n/2ns8TcLdNE1g7eIzTMBl7N9TM2tJsPTN+UbshYHBQtdsvziC/IwF j5PE9Wv9wr/yPh+YQFVOG9rSMM7t840sqMqGmorA= Authentication-Results: smtp1o.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <538EC593.2000507@yandex.ru> Date: Wed, 04 Jun 2014 11:06:59 +0400 From: Dmitry Antipov 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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5385B02C.4030208@yandex.ru> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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.0 (/) On 06/04/2014 10:31 AM, Gilles PION wrote: > will try to remove "--with xpm" As it was said, you can't use --with-x-toolkit=lucid and --without-xpm (because Lucid toolkit uses -lXaw, and the latter one requires -lXpm on your system). Try --with-x-toolkit=no instead (don't worry, you will have X but with ugly menus, scroll bars, popups and other similar stuff :-(). > ldd results: > ./emacs-24.4.50/src/temacs needs: > /usr/lib/libc.a(shr.o) > /usr/lib/libpthread.a(shr_xpg5.o) > /usr/lib/libXt.a(shr4.o) > /usr/lib/libX11.a(shr4.o) > /usr/lib/libcurses.a(shr42.o) > /usr/lib/libXpm.a(shr.o) > /usr/lib/libpthread.a(shr_comm.o) Did you use CC=xlc or CC=xlc_r? The first one may be unsafe since you link with libpthread.a. Dmitry From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 07:22:31 2014 Received: (at 17598) by debbugs.gnu.org; 4 Jun 2014 11:22:31 +0000 Received: from localhost ([127.0.0.1]:43146 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ws9H4-0006da-QP for submit@debbugs.gnu.org; Wed, 04 Jun 2014 07:22:31 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:14189 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ws9H1-0006dI-8w for 17598@debbugs.gnu.org; Wed, 04 Jun 2014 07:22:28 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1370192; Wed, 04 Jun 2014 13:22:19 +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 <0N6N00ITS697FQ@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 04 Jun 2014 13:22:19 +0200 (MEST) Date: Wed, 04 Jun 2014 13:21:58 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <538EC593.2000507@yandex.ru> To: Dmitry Antipov 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 04/06/2014 13:22:19, Serialize complete at 04/06/2014 13:22:19 X-KeepSent: 241B143B:ADE4B996-C1257CED:003E5E8D; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_f7LWZAINlLiOjNdt7ydYDw)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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_f7LWZAINlLiOjNdt7ydYDw) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > > ldd results: > > ./emacs-24.4.50/src/temacs needs: > > /usr/lib/libc.a(shr.o) > > /usr/lib/libpthread.a(shr_xpg5.o) > > /usr/lib/libXt.a(shr4.o) > > /usr/lib/libX11.a(shr4.o) > > /usr/lib/libcurses.a(shr42.o) > > /usr/lib/libXpm.a(shr.o) > > /usr/lib/libpthread.a(shr_comm.o) > > Did you use CC=xlc or CC=xlc_r? The first one may be unsafe since you > link with libpthread.a. just "xlc" -- Gilles . 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_f7LWZAINlLiOjNdt7ydYDw) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT
>
> > ldd results:
> > ./emacs-24.4.50/src/temacs needs:
> >           /usr/lib/libc.a(shr.o)
> >           /usr/lib/libpthread.a(shr_xpg5.o)
> >           /usr/lib/libXt.a(shr4.o)
> >           /usr/lib/libX11.a(shr4.o)
> >           /usr/lib/libcurses.a(shr42.o)
> >           /usr/lib/libXpm.a(shr.o)
> >           /usr/lib/libpthread.a(shr_comm.o)
>
> Did you use CC=xlc or CC=xlc_r? The first one may be unsafe since you
> link with libpthread.a.

just "xlc"

--
Gilles
. 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_f7LWZAINlLiOjNdt7ydYDw)-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 11:57:37 2014 Received: (at 17598) by debbugs.gnu.org; 4 Jun 2014 15:57:37 +0000 Received: from localhost ([127.0.0.1]:44108 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WsDZE-000092-GV for submit@debbugs.gnu.org; Wed, 04 Jun 2014 11:57:37 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:16627 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WsDZ6-00008a-Ss for 17598@debbugs.gnu.org; Wed, 04 Jun 2014 11:57:30 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1383502; Wed, 04 Jun 2014 17:57:15 +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 <0N6N000G4IZESZ@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 04 Jun 2014 17:57:15 +0200 (MEST) Date: Wed, 04 Jun 2014 17:57:12 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: 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 04/06/2014 17:57:14, Serialize complete at 04/06/2014 17:57:14 X-KeepSent: C1052026:4DB5CC36-C1257CED:003E8007; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_TJtwXNmkitblTGMtxKxnjQ)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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_TJtwXNmkitblTGMtxKxnjQ) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > > > will try to remove "--with xpm" > > > Done and no crashes yet > > I'm thinking testing a gcc build using same configure settings or > alse aix higher optimization level (O5) > > Please be patient, going to be out of office for a few hours again. > > (NB: added Dmitryi in CC list) Build with CFLAGS="-O3" seem to be OK also Tried another build with "CC=xlc_r" as suggested by Dmitry and putting bacj "--with-xpm" With this setting, emacs doesn't crashes but goes to en endless loop as soon as I enter "customize" I thing that the working combo could be "CC=xlc_r" and NO "--with-xpm" Going to try this now -- Gilles . 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_TJtwXNmkitblTGMtxKxnjQ) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT >
>
> > will try to remove "--with xpm"

> >

> Done and no crashes yet
>
> I'm thinking testing a gcc build using same configure settings or
> alse aix higher optimization level (O5)

>
> Please be patient, going to be out of office for a few hours again.

>
> (NB: added Dmitryi in CC list)


Build with CFLAGS="-O3" seem to be OK also

Tried another build with "CC=xlc_r" as suggested by Dmitry and putting bacj  "--with-xpm"

With this setting, emacs doesn't crashes but goes to en endless loop as soon as I enter "customize"

I thing that the working combo could be

"CC=xlc_r" and NO "--with-xpm"

Going to try this now

--
Gilles
. 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_TJtwXNmkitblTGMtxKxnjQ)-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 12:22:00 2014 Received: (at 17598) by debbugs.gnu.org; 4 Jun 2014 16:22:00 +0000 Received: from localhost ([127.0.0.1]:44180 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WsDwp-000123-3O for submit@debbugs.gnu.org; Wed, 04 Jun 2014 12:21:59 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:16771 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WsDwi-00011Y-6o for 17598@debbugs.gnu.org; Wed, 04 Jun 2014 12:21:53 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1384311; Wed, 04 Jun 2014 18:21:38 +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 <0N6N0001NK42SZ@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 04 Jun 2014 18:21:38 +0200 (MEST) Date: Wed, 04 Jun 2014 18:21:34 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: 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 04/06/2014 18:21:37, Serialize complete at 04/06/2014 18:21:38, Serialize by Router on Babel/FDJ(Release 8.0.2FP6HF284 | November 20, 2012) at 04/06/2014 18:21:38 X-KeepSent: 819BEC3C:4CE25297-C1257CED:0059BFAC; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_HoAjfxiejjG0nmuBzdj/Cw)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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_HoAjfxiejjG0nmuBzdj/Cw) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > I thing that the working combo could be > > "CC=xlc_r" and NO "--with-xpm" Confirmed: this one works (with CFLAGS=-O3) -- Gilles . 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_HoAjfxiejjG0nmuBzdj/Cw) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT >
> I thing that the working combo could be

>
> "CC=xlc_r" and NO "--with-xpm"


Confirmed: this one works (with CFLAGS=-O3)

--
Gilles
. 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_HoAjfxiejjG0nmuBzdj/Cw)-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 07 15:58:23 2014 Received: (at 17598) by debbugs.gnu.org; 7 Jun 2014 19:58:23 +0000 Received: from localhost ([127.0.0.1]:40760 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WtMkw-0006Op-Up for submit@debbugs.gnu.org; Sat, 07 Jun 2014 15:58:23 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:41765) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WtMkt-0006OV-Qi for 17598@debbugs.gnu.org; Sat, 07 Jun 2014 15:58:20 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id C8EC7A6000A; Sat, 7 Jun 2014 12:58:13 -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 VQ7AHw9iJ2sh; Sat, 7 Jun 2014 12:58:05 -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 27654A60005; Sat, 7 Jun 2014 12:58:05 -0700 (PDT) Message-ID: <53936EC9.2030305@cs.ucla.edu> Date: Sat, 07 Jun 2014 12:58:01 -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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5385F229.9020609@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@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: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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: > I thing that the working combo could be > > "CC=xlc_r" and NO "--with-xpm" I've reread this bug report and tried to codify all the feedback we've gotten, and have installed this as emacs-24 bzr 117216. In particular: * --without-xpm is now the default on AIX. * Link with -lXpm if also linking with -lXaw, even if --without-xpm. * Define _THREAD_SAFE on AIX (that's what xlc_r does). I've tested this on AIX 7.1 but I can't easily test X11 so please give it a try when you have the chance. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 10 02:50:25 2014 Received: (at 17598) by debbugs.gnu.org; 10 Jun 2014 06:50:25 +0000 Received: from localhost ([127.0.0.1]:42499 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WuFt2-0006QL-51 for submit@debbugs.gnu.org; Tue, 10 Jun 2014 02:50:24 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:39860 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WuFsx-0006Py-P0 for 17598@debbugs.gnu.org; Tue, 10 Jun 2014 02:50:21 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1496710; Tue, 10 Jun 2014 08:50:09 +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 <0N6X009ANXNLZE@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Tue, 10 Jun 2014 08:50:09 +0200 (MEST) Date: Tue, 10 Jun 2014 08:50:06 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <53936EC9.2030305@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 10/06/2014 08:50:08, Serialize complete at 10/06/2014 08:50:08 X-KeepSent: 685651B9:3FD69921-C1257CF3:00250772; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_hBrXObKrEmgO/WQrp7KKww)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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_hBrXObKrEmgO/WQrp7KKww) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > I've reread this bug report and tried to codify all the feedback we've > gotten, and have installed this as emacs-24 bzr 117216. In particular: /../ > I've tested this on AIX 7.1 but I can't easily test X11 so please give > it a try when you have the chance. Would you please give me the link to the .tgz file corresponding to this release ? Tried to browse form there: http://hydra.nixos.org/jobset/gnu/emacs-trunk but I'm lost Regards -- Gilles . 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_hBrXObKrEmgO/WQrp7KKww) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT

>
> I've reread this bug report and tried to codify all the feedback we've
> gotten, and have installed this as emacs-24 bzr 117216.  In particular:

/../

> I've tested this on AIX 7.1 but I can't easily test X11 so please give
> it a try when you have the chance.

Would you please give me the link to the .tgz file corresponding to this release ?

Tried to browse form there: http://hydra.nixos.org/jobset/gnu/emacs-trunk but I'm lost

Regards
--
Gilles
. 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_hBrXObKrEmgO/WQrp7KKww)-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 10 11:03:56 2014 Received: (at 17598) by debbugs.gnu.org; 10 Jun 2014 15:03:56 +0000 Received: from localhost ([127.0.0.1]:43049 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WuNaa-0003PK-0N for submit@debbugs.gnu.org; Tue, 10 Jun 2014 11:03:56 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:56563) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WuNaU-0003P2-7F for 17598@debbugs.gnu.org; Tue, 10 Jun 2014 11:03:50 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id B64F7A60007; Tue, 10 Jun 2014 08:03:39 -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 09K7rp9k5BHk; Tue, 10 Jun 2014 08:03:34 -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 C464AA60004; Tue, 10 Jun 2014 08:03:34 -0700 (PDT) Message-ID: <53971E46.5060809@cs.ucla.edu> Date: Tue, 10 Jun 2014 08:03:34 -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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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: > Tried to browse form there:http://hydra.nixos.org/jobset/gnu/emacs-trunk > but I'm lost I was talking the emacs-24 branch, so you can browse from here: http://hydra.nixos.org/jobset/gnu/emacs-24 Click on the top "tarball →" link, then click just under "Build products" on the next page; it should say "Source Source distribution emacs-24.3.91.tar.gz" or something like that. I just now did that and came up with: http://hydra.nixos.org/build/11774896/download/1/emacs-24.3.91.tar.gz From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 11 03:36:32 2014 Received: (at 17598) by debbugs.gnu.org; 11 Jun 2014 07:36:32 +0000 Received: from localhost ([127.0.0.1]:43492 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wud56-0003s3-ET for submit@debbugs.gnu.org; Wed, 11 Jun 2014 03:36:31 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:48147 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wud53-0003rk-EL for 17598@debbugs.gnu.org; Wed, 11 Jun 2014 03:36:22 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1527801; Wed, 11 Jun 2014 09:36:11 +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 <0N6Z00H3WUGB4H@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 11 Jun 2014 09:36:11 +0200 (MEST) Date: Wed, 11 Jun 2014 09:36:07 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <53936EC9.2030305@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 11/06/2014 09:36:11, Serialize complete at 11/06/2014 09:36:11 X-KeepSent: D3CDCB8F:7DE218D1-C1257CF4:0028EFB2; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <8361kpj2iv.fsf@gnu.org> <53860FFC.6050306@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_a9o01l8H6NJxs3ZOY+4eTQ)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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_a9o01l8H6NJxs3ZOY+4eTQ) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > I've tested this on AIX 7.1 but I can't easily test X11 so please give > it a try when you have the chance. Unfortunatly, this build made me discover that my previous tests were'nt comprehensive enough M-X shell makes emacs unresponsive (frozen) configured with "--without-all --with-x-toolkit=lucid", CC=/usr/vac/bin/xlc_r CFLAGS="-O3 -g" Here's debugger backtrace after ^C: (gdb) run --no-site-file --no-init-file Starting program: /emacs-24.3.91/bin/emacs --no-site-file --no-init-file [New Thread 1] Program received signal SIGINT, Interrupt. [Switching to Thread 1] 0xd0122bec in read () from /usr/lib/threads/libc.a(shr.o) (gdb) where #0 0xd0122bec in read () from /usr/lib/threads/libc.a(shr.o) #1 0x1004167c in emacs_read (fildes=1375217388, buf=0x4, nbyte=4) at sysdep.c:2279 #2 0x101cb65c in create_process (process=270315820, new_argv=0x18, current_dir=538786192) at process.c:1903 #3 0x101cb260 in Fstart_process (nargs=541711672, args=0x201a0b6d <_$STATIC+629>) at process.c:5157 #4 0x1001ab98 in Ffuncall (nargs=268906868, args=0x0) at eval.c:2796 #5 0x1001a4ec in Fapply (nargs=550438488, args=0x0) at eval.c:2300 Backtrace stopped: frame did not save the PC Note: freeze happens also when not running under X11 (emacs -nw) Going to try this with gcc now . 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_a9o01l8H6NJxs3ZOY+4eTQ) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT >
> I've tested this on AIX 7.1 but I can't easily test X11 so please give
> it a try when you have the chance.

Unfortunatly, this build made me discover that my previous tests were'nt comprehensive enough

M-X shell makes emacs unresponsive (frozen)

configured with "--without-all --with-x-toolkit=lucid", CC=/usr/vac/bin/xlc_r  CFLAGS="-O3 -g"

Here's debugger backtrace after ^C:

(gdb) run  --no-site-file  --no-init-file
Starting program: <TOOLSDIR>/emacs-24.3.91/bin/emacs --no-site-file  --no-init-file
[New Thread 1]

Program received signal SIGINT, Interrupt.
[Switching to Thread 1]
0xd0122bec in read () from /usr/lib/threads/libc.a(shr.o)
(gdb) where
#0  0xd0122bec in read () from /usr/lib/threads/libc.a(shr.o)
#1  0x1004167c in emacs_read (fildes=1375217388, buf=0x4, nbyte=4)
    at sysdep.c:2279
#2  0x101cb65c in create_process (process=270315820, new_argv=0x18,
    current_dir=538786192) at process.c:1903
#3  0x101cb260 in Fstart_process (nargs=541711672,
    args=0x201a0b6d <_$STATIC+629>) at process.c:5157
#4  0x1001ab98 in Ffuncall (nargs=268906868, args=0x0) at eval.c:2796
#5  0x1001a4ec in Fapply (nargs=550438488, args=0x0) at eval.c:2300
Backtrace stopped: frame did not save the PC

Note: freeze happens also when not running under X11 (emacs -nw)

Going to try this with gcc now . 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_a9o01l8H6NJxs3ZOY+4eTQ)-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 11 03:54:33 2014 Received: (at 17598) by debbugs.gnu.org; 11 Jun 2014 07:54:33 +0000 Received: from localhost ([127.0.0.1]:43497 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WudMe-0004Kp-Eo for submit@debbugs.gnu.org; Wed, 11 Jun 2014 03:54:32 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:48269 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WudMb-0004KW-6Z for 17598@debbugs.gnu.org; Wed, 11 Jun 2014 03:54:30 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1528345; Wed, 11 Jun 2014 09:53:48 +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 <0N6Z00HVOV9N4H@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 11 Jun 2014 09:53:47 +0200 (MEST) Date: Wed, 11 Jun 2014 09:53:45 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: 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 11/06/2014 09:53:47, Serialize complete at 11/06/2014 09:53:47 X-KeepSent: B437FBB3:AA6F7E23-C1257CF4:002B0A25; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_a8ED148upOZIeKcJSiqR8w)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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_a8ED148upOZIeKcJSiqR8w) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > Going to try this with gcc now Not successfull, getting same error at runtime already spotted on May 30: Remember? temacs "trussed" run output excerpt: 25165962: 20775055: faccessat(-3041965, "/src/emacs/24.3.91/emacs-24.3.91/lisp/.", 0, 4) Err#22 EINVAL Warning: Lisp directory `/src/emacs/24.3.91/emacs-24.3.91/lisp': Invalid argument 25165962: 20775055: faccessat(-3041965, "/emacs-24.3.91/share/emacs/24.3.91/etc/charsets/.", 0, 4) Err#22 EINVAL Error: charsets directory not found: /emacs-24.3.91/share/emacs/24.3.91/etc/charsets Emacs will not function correctly without the character map files. Please check your installation! 25165962: 20775055: kfcntl(1, F_GETFL, 0x00000008) = 1 25165962: 20775055: close(1) = 0 25165962: 20775055: close(2) = 0 25165962: 20775055: __loadx(0x04400000, 0x2FF22000, 0x00000800, 0x0000D032, 0x00000000) = 0x00000000 25165962: 20775055: _exit(1) -- Gilles . 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_a8ED148upOZIeKcJSiqR8w) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT >
> Going to try this with gcc now


Not successfull, getting same error at runtime already spotted on May 30:

Remember?

temacs "trussed" run output excerpt:

25165962: 20775055: faccessat(-3041965, "<HOMEDIR>/src/emacs/24.3.91/emacs-24.3.91/lisp/.", 0, 4) Err#22 EINVAL
Warning: Lisp directory `<HOMEDIR>/src/emacs/24.3.91/emacs-24.3.91/lisp': Invalid argument
25165962: 20775055: faccessat(-3041965, "<TOOLSDIR>/emacs-24.3.91/share/emacs/24.3.91/etc/charsets/.", 0, 4) Err#22 EINVAL
Error: charsets directory not found:
<TOOLSDIR>/emacs-24.3.91/share/emacs/24.3.91/etc/charsets
Emacs will not function correctly without the character map files.
Please check your installation!
25165962: 20775055: kfcntl(1, F_GETFL, 0x00000008)        = 1
25165962: 20775055: close(1)                                = 0
25165962: 20775055: close(2)                                = 0
25165962: 20775055: __loadx(0x04400000, 0x2FF22000, 0x00000800, 0x0000D032, 0x00000000) = 0x00000000
25165962: 20775055: _exit(1)
--
Gilles
. 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_a8ED148upOZIeKcJSiqR8w)-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 11 05:59:00 2014 Received: (at 17598) by debbugs.gnu.org; 11 Jun 2014 09:59:00 +0000 Received: from localhost ([127.0.0.1]:43635 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WufJ5-0007ch-JI for submit@debbugs.gnu.org; Wed, 11 Jun 2014 05:58:59 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:49712 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WufJ1-0007cP-Qn for 17598@debbugs.gnu.org; Wed, 11 Jun 2014 05:58:57 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1533645; Wed, 11 Jun 2014 11:58:43 +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 <0N7000JJF11WXJ@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Wed, 11 Jun 2014 11:58:44 +0200 (MEST) Date: Wed, 11 Jun 2014 11:58:41 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: 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 11/06/2014 11:58:43, Serialize complete at 11/06/2014 11:58:43 X-KeepSent: 3807B55D:04AE706C-C1257CF4:002FEB08; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_mNH521N5aW+KKqYT2IX1XQ)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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_mNH521N5aW+KKqYT2IX1XQ) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > > > Going to try this with gcc now > > Not successfull, getting same error at runtime already spotted on May 30: On a AIX 6.1 host the same binary (compiled on a 7.1 platform) runs fine. -- Gilles . 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_mNH521N5aW+KKqYT2IX1XQ) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT > >
> > Going to try this with gcc now

>
> Not successfull, getting same error at runtime already spotted on May 30:


On a AIX 6.1 host the same binary (compiled on a 7.1 platform) runs fine.


--
Gilles
. 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_mNH521N5aW+KKqYT2IX1XQ)-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 11 16:25:25 2014 Received: (at 17598) by debbugs.gnu.org; 11 Jun 2014 20:25:25 +0000 Received: from localhost ([127.0.0.1]:44595 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wup5I-00020G-2P for submit@debbugs.gnu.org; Wed, 11 Jun 2014 16:25:24 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:48466) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wup5D-0001zy-QT for 17598@debbugs.gnu.org; Wed, 11 Jun 2014 16:25:20 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id A88F6A60002; Wed, 11 Jun 2014 13:25:13 -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 mfSHcsAuVyxY; Wed, 11 Jun 2014 13:25:09 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id ED84F39E8013; Wed, 11 Jun 2014 13:25:08 -0700 (PDT) Message-ID: <5398BB24.9050400@cs.ucla.edu> Date: Wed, 11 Jun 2014 13:25: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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <538622CF.2080300@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@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: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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 (---) On 06/11/2014 12:53 AM, Gilles PION wrote: > Not successfull, getting same error at runtime already spotted on May 30: > > Remember? I remember fixing this in the trunk. I can reproduce the bug (since it doesn't require X), and backporting the trunk patch fixed it for me. I installed this as emacs-24 bzr 117234. You can get the resulting tarball here: http://cs.ucla.edu/~eggert/emacs-24.3.91.tar.gz Please give it a try. Eventually it should appear on Hydra, too, but Hydra ran out of disk space so that'll have to wait until someone cleans it out. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 12 04:45:43 2014 Received: (at 17598) by debbugs.gnu.org; 12 Jun 2014 08:45:43 +0000 Received: from localhost ([127.0.0.1]:45047 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wv0dh-0000WP-NT for submit@debbugs.gnu.org; Thu, 12 Jun 2014 04:45:42 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:58427 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wv0dc-0000Vu-6x for 17598@debbugs.gnu.org; Thu, 12 Jun 2014 04:45:38 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1558918; Thu, 12 Jun 2014 10:45: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 <0N71008NPSBQZO@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Thu, 12 Jun 2014 10:45:27 +0200 (MEST) Date: Thu, 12 Jun 2014 10:45:24 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <5398BB24.9050400@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 12/06/2014 10:45:26, Serialize complete at 12/06/2014 10:45:26 X-KeepSent: 6713460F:B042C387-C1257CF5:002BE51E; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> <"OFB437FBB3.AA6F7E23-ONC1257CF4.002B0A25-C1257CF4. <5398BB24.9050400"@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_hITGwHPlhbplzdcJKllwwQ)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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_hITGwHPlhbplzdcJKllwwQ) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > I remember fixing this in the trunk. I can reproduce the bug (since it > doesn't require X), and backporting the trunk patch fixed it for me. I > installed this as emacs-24 bzr 117234. You can get the resulting tarball > here: > > http://cs.ucla.edu/~eggert/emacs-24.3.91.tar.gz > > Please give it a try. Eventually it should appear on Hydra, too, but > Hydra ran out of disk space so that'll have to wait until someone cleans > it out. Same error at runtime. I would not be much surprised if it was rather the GCC compiler being the source of this error I've also tried compiling this tarball on an AIX 6.1 host, using with the same configure options and gcc binary: the emacs executable produced with setup runs fine on 6.1 and 7.1 hosts. -- Gilles . 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_hITGwHPlhbplzdcJKllwwQ) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT
>
> I remember fixing this in the trunk.  I can reproduce the bug (since it
> doesn't require X), and backporting the trunk patch fixed it for me.  I
> installed this as emacs-24 bzr 117234. You can get the resulting tarball
> here:
>
>
http://cs.ucla.edu/~eggert/emacs-24.3.91.tar.gz
>
> Please give it a try.  Eventually it should appear on Hydra, too, but
> Hydra ran out of disk space so that'll have to wait until someone cleans
> it out.

Same error at runtime.

I would not be much surprised if it was rather the GCC compiler being the source of this error

I've also tried compiling this tarball on an AIX 6.1 host, using with the same configure options and gcc binary:
the emacs executable produced with setup runs fine on 6.1 and 7.1 hosts.
--
Gilles
. 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_hITGwHPlhbplzdcJKllwwQ)-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 12 22:24:56 2014 Received: (at 17598) by debbugs.gnu.org; 13 Jun 2014 02:24:56 +0000 Received: from localhost ([127.0.0.1]:46015 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WvHAl-0003Ft-N8 for submit@debbugs.gnu.org; Thu, 12 Jun 2014 22:24:56 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:35709) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WvHAh-0003Fa-Nz for 17598@debbugs.gnu.org; Thu, 12 Jun 2014 22:24:52 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 32E42A60003; Thu, 12 Jun 2014 19:24:46 -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 Fkwb58+pP-L7; Thu, 12 Jun 2014 19:24:40 -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 9F9E439E8012; Thu, 12 Jun 2014 19:24:40 -0700 (PDT) Message-ID: <539A60E8.7080703@cs.ucla.edu> Date: Thu, 12 Jun 2014 19:24:40 -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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> <"OFB437FBB3.AA6F7E23-ONC1257CF4.002B0A25-C1257CF4. <5398BB24.9050400"@cs.ucla.edu> In-Reply-To: Content-Type: multipart/mixed; boundary="------------000704000404050206030202" X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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" This is a multi-part message in MIME format. --------------000704000404050206030202 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Gilles PION wrote: > Same error at runtime. > > I would not be much surprised if it was rather the GCC compiler being the > source of this error Which GCC compiler are you using? I am using 4.8.1, and it works for me; see attached files. Can you please run the following commands (or their equivalents) in a fresh directory, and send all the shell output, config.log, lib/fcntl.h, src/config.h, and emacs-trussout.txt files (compressed), in the same style as the files I've attached to this email? Thanks. wget http://cs.ucla.edu/~eggert/emacs-24.3.91.tar.gz gunzip < emacs-24.3.91.tar.gz | tar xf - cd emacs-24.3.91 ./configure --without-all --with-x-toolkit=lucid CFLAGS="-O3 -g" make truss -df -o emacs-trussout.txt src/emacs [Type "M-x shell RET C-d C-x C-c".] You may have to run "src/emacs -nw" instead of "src/emacs", if you have an X display. --------------000704000404050206030202 Content-Type: application/gzip; name="shellout.txt.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="shellout.txt.gz" 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 --------------000704000404050206030202 Content-Type: application/gzip; name="config.log.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.log.gz" 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 ikbGdXNGiieScr3IlbSzk7HuzhryHe644fUoY+lucGv4fBDnf1Obqa1ut6yrs7u+yO5GO2O3 7Yo/5C+6HaXLVsvt4oaqtfKqkYAyW9480i90bhz3TtxrxP1YJsdjJXFbKaWC9+iVW6YoZ91y zzdtNjAnZl/cVuLbi1cU5ycP1My/vKn0srTNStv0a59+mf64xIQrSoZhBmIk9sOAG0Zp9man 2ZFXNOp+0zQ+SB0053cEFII3gzeDN4M3gzeDN4M3gzeDN4M3gzeDN4M3gzeDN4M3gzeDN4M3 gzd/Id48v1mLS1+cSePd+eHr438yb2Ib2sqimDBBaXlGYbS3+PkcWvHGAtAdhZEZxsG7d2LS 3esZRhq03Stfz8vOeGXyQyo1tU13o2E4Hk8lhkur1DUtD0vYqTTX9cY+MUJxmpSqjcbqSETW 1SCRpg6zPFqAWdx+0XG1AWYL6tSLqUulWtVlbRzzsTcYeQWgMa71RFkbaxUla2NsyipZG+Oq xVkb40M9edbG2GGALIAsgCyALIAsgCyALIAsgCyALIAsgCyALIAsgCyALIAsgCyALIAsgCxr DFkQTYhowq8gmWTMVu5NJjljMJpkksq+FZJJxlhFG0En9jVqGrJl2qY3LuZauryRy6HCqG4e v0XbC/Fbq60xMroguc0HdCbJWvHhakdUDEwazWoTncbqNlNdjc21Sn3lNmVdXZv1+qMjU3vY ZeVWpbJTq7SY1B667L2TXPP+dNx37S7bdVyHfyQ9zAkMMeh8HqRq1hvsfRxJutO3XXM4NicU u7XTd9z/hBYPmDuRdC9wmdunE8DGFMRlSeIsHz12RUdtOlvVGbe0h/GwFXa0ZXLPOKtn3ifA gsCCwILAgsCCwILAgsCCwILAgsCCwILAgsCCwILAgsCCwILAgsCCwILfOhbMt3xyeHLee3Ne IFAcvD04P1kaKKaZQgHd0aVeZN+HCfEh4VxbIrYsKsI0cruuFqdrz9E3qGdK2Z+N3oa+eja+ bP5D5In9GBu6GX3aJl9ss9DxrWvS6yl33db+Il/0/+Keu9AVsoTiieI6f58jIitnbljGA1dD g1x3NfT1+1+/Mv48PD9jmz+IIlsL02mqIX6VWqNVCPMauUSTwlJhhxHki63IrWRdDbdapc1l Y93K1W61lk8nKP4QfvCpVpIxcKvEAveGOy+Idm/61l/cFf9uJl7Y2tp6wfQ/Hwp6CeIE4gTi BOIE4gTiBOIE4gTiBOIE4gTiBOIE4gTiBOIE4gTiBOIE4gTiBOL0EOI0owIp9GRdO6YdYafZ K8dOLOf6Lo7P8mdyvkwjaDmpOtusH8abUiFu6nu+vi8Kg4v+06GuQhn9E/sHy6CK+wORpKxe FOTTqFdyL54a9sX1uDuK3oK2IHthpVlur4w0ZF0N0mhWGsXWNiutjLXGL8LWfJlVjaq0Coxq PV1OwXK3Wv4cziJdUARZPhT0D4QFhAWEBYQFhAWEBYQFhAWEBYQFhAWEBYQFhAWEBYQFhAWE BYQFhAWEBYRFQ1jUO/3xkbiiDKQPRPrArzl9oB6qrITcJGcphFi1bLzQ3WBkeplwoWajvDrG oro6jNVYYFar2da+xcwLxV0lkHkJhbfktWiN+e6I8tBFf6nNtFdngrKuxu5WJ8UENcds5yOw ErN3g7Hxl+vwfPmnCpuqdyvzVHulmSElNjJ95rgUiNgXjqUnIPFNHJtXipieOTDM62svMVpF eh/yfQDKA8oDygPKA8oDygPKA8oDygPKA8oDygPKA8oDygPKA8oDygPKA8oDygPKezjKU6+0 X8RoKRJ6Lh+S6C9Nf2Y7IlV/cVgUcTxrkEISsVy+H8ObnHr+6YHY5qm5QGdVLhBjqYV4AJQA lACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJRgnSlBkZa+EiwoeCVM u1rRxFIEf8m7oOWzIR/Y4i4yzFdaMXJC1tVETsjtRREf7VwgSmShWqihYSLuzJaUeWznd3t7 p9+3rgN3oFi7Y0+CkcfNISPDWb59neXNRZa3KosCPq7HgXt1la/xbEI+IgPzQR/R9oVhH60K gA6ADoAOgA6ADoAOgA6ADoAOgA6ADoAOgA6ADoAOgA6ADoAOgA6ADoAOgM6XADr5o1z+qX+2 T21fggIpsOcz40ESYf3BkOeJsUFndWyQ51g6egCIAIgAiACIAIgAiACIAIgAiACIAIgAiACI AIgAiACIAIgAiACIAIgAiACIAIjw/+zdfXPbNrYH4P/zKdB2pk52bUfvspw0M9vEbvfeNvZc 2+1td3Y1IAVJmPBFS4KWtTcf/p4DkhJJkbLi2p2+/DJtWpMECICgCPPRAfYKF/lFltAQMDLq j+oX3zCh9uVdY8yITffAmBGbtibywm5virwYDTtNBU12FpTTPbSgnLauoLy9saAn/dqCSiOm 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 iX5MTbOKCwA= --------------000704000404050206030202 Content-Type: application/gzip; name="config.h.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.h.gz" 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 --------------000704000404050206030202 Content-Type: application/gzip; name="emacs-trussout.txt.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="emacs-trussout.txt.gz" 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 HveasD0mwvSwz0Rfo7pXfSYk6zHhTa+JvhbxZ70mZI+JI9droq9Fjnmvib5udnzUa6KvRU5k r4m+bnbSO16ovm72qne8UH0t8qp3vFB93ey0d7xQfS1y1jteqL5udtY7XqjuFglPmN7xQrM+ E73jhRY9JnjveKFln4ne8ULrHhOid7zQps9E73ihXY8J2Tte6L5GVb3jheF9JnrHC9PXIrp3 vDCqz0TveGH6WsT0jhfG9pnoHS9MX4vY3vHC9nUz1zte2L5u5nrHC9vXqL53vLB93cz3jhe2 r0WOescL29fNjnrHC9fXIse944Xr62bHveOF62uRk97xwvV1s1e944Xr62avescL19eop73j hevrZqe944Xva9Sz3vHC93Wzs97xwvc0Kme944Xv6Wac944X3vSZ6B0vfE8346J3vPC+z0Tf eGFY36RR8F4TfZNGcdRrom/SKGWviZ4Wkaw/kJ5uJk766fR9JvqkZXh3ixx52RsI71ubcddr opPO8J+w6Okz4fpMmJMeE1EGvk7zLJPTe0aIg/s/q9UP8f7PTj2hqTfX/unLbzrMqpZtpc2u yCHLn1e2w6DfTVrbjo2KVjMtmWaxm2lep7B7BRQt7t8Ee5Pz+ii7tbW1heM4Id5rTZGk7OJ0 3ObX8v5zWMO017AlpexMlAgg4dAe4lAO5dCPwKGGOVSMlEN1UIdyqBD30xv0JDJciNF51yQk mkMk8qFKVG4EJQqYRM1I9mPWLbpW3D5Mg8Pc2wO2vSW5nc2j5SGDoWvr7WNO0g1qaoS2BaEd itARIzSsn0OXgzB6Syxvm9JEeZ7z9xezRVcl+5MeFFYdmGtwlRGH1X0WmokK77Bg+yw0LySI Dgt+a054exnIrBv32WdN7UGYwv329Nt/aP++2+txDFNL/JJJbFA9jKqnxydJRQNRiei/e7Ku 9+0olbHCt1SCtmN9kMD00/T847S91Ookgl+vyqvJ4vL8F5VsA2OIzzd11sLnm7bxEN/culWZ 0fockEGYwvrdcb0NeeIBqi9qzt+8ny1XN4sfBhDUcSpRWJbEBtuZ0CkLpcOFctsg69LnDsZ3 tSqftUXlO6N6ef1hPo9DaySfRljU9zvLMHeaham7WrfW8KJBYPl2ESvp2U9qfI2AtFAn7QxF 6cqPV+EpMbt+d7OpkeCvXKxI+/CZJyrSdV8fsBtx+2tv7fB1KwPbBLQhzKr7a4dhW2CoRBi2 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 m3Z++XIp+f8B43hVuA+qBAA= --------------000704000404050206030202 Content-Type: application/gzip; name="fcntl.h.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fcntl.h.gz" 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 --------------000704000404050206030202-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 13 04:03:12 2014 Received: (at 17598) by debbugs.gnu.org; 13 Jun 2014 08:03:12 +0000 Received: from localhost ([127.0.0.1]:46139 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WvMS8-0006KD-7f for submit@debbugs.gnu.org; Fri, 13 Jun 2014 04:03:12 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:5384 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WvMS4-0006JW-07 for 17598@debbugs.gnu.org; Fri, 13 Jun 2014 04:03:09 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1585412; Fri, 13 Jun 2014 10:02:53 +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 <0N7300M76L0S32@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Fri, 13 Jun 2014 10:02:52 +0200 (MEST) Date: Fri, 13 Jun 2014 10:02:49 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <539A60E8.7080703@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 13/06/2014 10:02:52 X-KeepSent: 13CB4F86:2418E235-C1257CF6:0023E02F; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> Content-Type: multipart/mixed; boundary="Boundary_(ID_TgS4bo1+z8r3xCakukZPZg)" X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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" --Boundary_(ID_TgS4bo1+z8r3xCakukZPZg) Content-Type: multipart/alternative; boundary="Boundary_(ID_ZdRLio+WamjiqpV0cdXG/A)" --Boundary_(ID_ZdRLio+WamjiqpV0cdXG/A) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > Which GCC compiler are you using? I am using 4.8.1, and it works for > me; see attached files. 4.8.2, boostratpped on a AIX 6.1 Host > > Can you please run the following commands (or their equivalents) in a > fresh directory, and send all the shell output, config.log, lib/fcntl.h, > src/config.h, and emacs-trussout.txt files (compressed), in the same > style as the files I've attached to this email? Thanks. > > wget http://cs.ucla.edu/~eggert/emacs-24.3.91.tar.gz > gunzip < emacs-24.3.91.tar.gz | tar xf - > cd emacs-24.3.91 > ./configure --without-all --with-x-toolkit=lucid CFLAGS="-O3 -g" Also appended: * "CC=path_to_my_gcc_bin" since gcc is not in my PATH * --prefix=/ > make > truss -df -o emacs-trussout.txt src/emacs "make" fails to dump emacs since that's "temacs" which is crashing That's why I have attached truss output of temacs instead -- Gilles . 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_ZdRLio+WamjiqpV0cdXG/A) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT >
> Which GCC compiler are you using?  I am using 4.8.1, and it works for
> me; see attached files.

4.8.2, boostratpped on a AIX 6.1 Host

>
> Can you please run the following commands (or their equivalents) in a
> fresh directory, and send all the shell output, config.log, lib/fcntl.h,
> src/config.h, and emacs-trussout.txt files (compressed), in the same
> style as the files I've attached to this email?  Thanks.
>
> wget
http://cs.ucla.edu/~eggert/emacs-24.3.91.tar.gz
> gunzip < emacs-24.3.91.tar.gz  | tar xf -
> cd emacs-24.3.91
> ./configure --without-all --with-x-toolkit=lucid CFLAGS="-O3 -g"

Also appended:
* "CC=path_to_my_gcc_bin" since gcc is not in my PATH
* --prefix=/<path_to_writeable_private_dir>

> make
> truss -df -o emacs-trussout.txt src/emacs

"make" fails to dump emacs since that's "temacs" which is crashing

That's why I have attached truss output of temacs instead


--
Gilles
. 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_ZdRLio+WamjiqpV0cdXG/A)-- Content-Type: text/plain --Boundary_(ID_TgS4bo1+z8r3xCakukZPZg) Content-Type: application/octet-stream; name="anonymized-config.h.gz" Content-transfer-encoding: base64 Content-disposition: attachment; filename=anonymized-config.h.gz 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 --Boundary_(ID_TgS4bo1+z8r3xCakukZPZg) Content-Type: application/octet-stream; name="anonymized-config.log.gz" Content-transfer-encoding: base64 Content-disposition: attachment; filename=anonymized-config.log.gz H4sIAOyumlMAA+xd+1fbxvL/uf4rtqQtJsFG8kN+EHKPY0ziU14Hmzb55qY+Ql7busiSrx6Ae9P/ /TuzK8mrF5hAU2hFT4m9OzM7uzs789nVahjOdIdMdIMSzTJdVTcdoppLMqeOo06pQxa2NfY0OiYX S6CYL4DSdsj1DP4t2J5p6uYUOSf61LPpNnEtoupjMqYX3nSKdfpkVU3m6iWIVMlcd1z4WC4U+i65 Vh2i2VR1eSN0rmqOwFOplavllryNbWozpC5MqUntgP7d8TnpeK6FHKRSVlplQvrmlaWprm6ZqPNc NcfE0E3KmAuE/EDKO6sGSqWFTSf6zd7r1+9Pjnr7/bM3b3Yc4LmwbqDyWndnlueWVMPwv5VuSq5l GZe6u2d4GvS2e3DYeTfYK51USWlKul2QNDw5ORxwUVNNK9XKzXJl50I38Vuh8OIFiPJ/yIsX+P3U UN2JZc/L/vdIfWFmOa6pzinZI6jlYPjmTcFjBaU5lElSd1+WO7VaV5KCchvK5eCLA186/Q/B1yv4 2igUdjzHZkr5xQsoXljX1F5oBbH8A8GfPeKZl6Z1bRZ4pWrDdER+VhShZEZUukwngDm4ojc7U+o6 S0c3J1aaBOw6q4tLwEqwlRlO7K06WI5Br6gREjTKclkqS0EX9SuwaJomoXDaGb5vEyboStUWC+Tw C0VjWZUyUgNsz4gXCl+Fj9bC3ZnYlF6rNo1zaJoTL/ogy2dKimSsKETNKjSsrgU27lLHdRKm5RtX uBTaVaXabBNtRrVLXLtgj+RGg1UeIVGAxKaOZ7htYlpiVaPainGr5O1gv4R+A1bjBTgZ8C8urCSR qyk1VgITI7Ljc5CSFmGSRUWvZ9SdUZtceLoxJtS80m3LnFPTJeDcYCnTCGujumpvSR2hriZVaoke uDNwTuOSo07AgV2OdRsWSoRHqd6mfypLQ4o1M1WvL0UKWZIyRjmFef4QZjPGLDWVNlR44DND80rQ tIQpi1fKUtrUoOsnDqx08kPxqPNzbyvCUpUyp0SutzLFeYuFZYNIE8wbosGVausqWFmUv6Fkym42 xdHg1gOuyKVz4i4XNELaqq3E+E6ypF/MS6p+EzgUgbwli4aEPixLcKvSuIfgeqUeX6HdMC4T9GQQ 9CL0SgOd1W3xCByCz0je/FQvYEnxXbe7RRhVoWstlrY+nbmkCGUVSa6SAzBwMrAmLlo5OUBjYdF2 GyKvVi4MEVMgrEAyxyfbhdkHRzTDEs/WKNNdA9k+ghjrKAGcFBnCBFPkPz4pAKetmu5yF+zYJeDG TcZ31Dvrvu8cDztv+4f94UcCRQf94XFvMCAHJ2ekQ047Z8N+9/ywc0ZOz89OTwa9ciEyLA0Yxh/+ hbHz3qN1xYbp3Alsxi3pJnEWVHPKhe7J4WGvOxy9uxsFBKSHw5PRr2ed09PeWRaLoV/QG6phyU7M RBRuIjs+oWuVrm11saB2YajaEFkTNuUzwLT6vR4TBDXRiObYvDEudaVIKmpKUxnqwd6RHLwf0Aw+ DronxweMCupYiAS/DqsWqiG42nExazQw1h1c7SXTcIRvMFZT7T9QQE3+XTWnHkLZPW1be/VKqNAv 1LG6B/5xyDw8mVtjarQBv96wNRCsCd4cXxGPZUK/BCutTahtW3YbMIdNNWtq6r/DhERAK0QUVGOz 9Msm55ioEBADPtOCmLrwXIbh0bmhK+DQ16X2XDdxjMvpesv31vu/MUdxH/UD3j+3F6204INeR3CT 15Z9KcaBerUi3d13ju4J25ogniprhA1DRE4tzSSqjUpWCIK6erY/H9OJCkwE9h/B4BCE5FEBQvxQ y0AaqW1WY+IdbwKrilgTgi7Fc+MBs15trTEYVjgM6w1MK3VgarIQmyMV1bRpvKYE441mW47jDxJU R/hqyqPrXqtLqbrXYdz5PhIZI1WKnMohIpEILKvXmnLmNFkX/6HaamWEPHWpendfV3Yr9DDWwToC 8KS69YoA9CPagp1nz47H4iKuONyZr4w5IqAuP5Lq9dSRriuZeBLq0vDkHcqomkYXADRLEWurN1tr deP2LqCQZBeUbEhcV2qNmLXcoYTvg/FwhnWE9AcnpNtsiUIb8t3Lfr1JYZKSPWpUqqL5Q2gwKR3T cYSmlrbu79AK0CdEFhcijoMKYuSBNe5aU8YdEd9Yw7VpYtcEZ1EpW1FZ1dRefoMmmvVM02jKCX/v LiFqgB/RTc3wxrhA+cEZbqEirDV5JRbWbqROES1uTBcUxtzUlivpd4BdQVarIfgVqKsKlYrUkCP7 pms0Wtsz/RAOkHBhWxp1HEucWEWWKnePek802gR3YpwVWV4jmCSF8o9tWW6jA43AHFUboeHf6LAT NN0ygO5jCzy9NuOhHWYL4DA4e8teFsiLYMJex9neFMgtP7+tAZ943xLwCbQFPcZ46Du11Tmel7YL X8jOS9ZHQCNOeUZe7kDRC/iC6O600/258643Ou4c9cgGO7vdSKkeds7uoPildzbonxyTDf+8N41m MDzrH7/zhZBbCN+evzvrnZ6cDclGWvX52WFqRYp6aWrBcID5C0MCe1Y+KLfMmDj24kK7074inMoa cTPbzFNhiSIjAv27mjn2LTfzv8TMK1L8LHUK3hscueqSGQRpgLPEsKAKt4kOD9s0IkARtk3Rk/Ud FBWljUMiGiepVlq3iouttWpViUk80k1A5J05dNYeg9mkIFulqmQdvSo1uRI/W46w1tg6ih68xiiq Qg+iVXU5fvRuq6ahX0RoqvVEAylUNWGXklLdiPeiczzoQ2ieURVgWGKbotRba4TmNWAlF5R0X4qy hvu635aPy8xoKnXLl8mRffisKM34lDlLZwePh2GtJQgfYwSV1K0GL76Xknhy96R1dMdgtk9bQxs+ PmUN53QO8fkpa8jH8EkvFt10n/6Cdse6+aSXs2cCwBg/HQ0bkhgD5wgL/CcjgBs9R73QDd1dJjge pK0Pt+u1dkWJwe2oAmuC7SjTbVB7LaDdCLfQOdC+L9AO6gbD/e7ofa+zDzQwjKuK951fQNmPg9Hw 42lvMHqfXjkYdoapdcP9w/7b9Brsf1rNUe/o5OxjNk+qEv3jYbaCw32oTqs5P+5DpV+zxp4D3ZWF FouFSJUYHqwhK/oVqGI8IF+fpDDz4UvycqyTxirOV4zPxx9vEsXAFwgzHMqrBT38qWLlWeJCLVJ7 4k+pL5l8z4d6HDWun34iQXlkumPtBhAg1q6oGEcx2QMbWEsa320zsrKlKOcqoN7SJje1xNjrZsZE RuwwyhaEnhhblheNe8T0neCt8WMBPNTU6L3DR+YRTUXOY0YeM/7JMeMxlinbE0XkrCumoqQ809L9 u4kTik84/M6NRr0Pw94xzvZgNIoIqdUeB+4yQUm426jL2XBXSevA6MPJae94NDg5P+v2iDOzPGNM LmgQWCICmmsc0aylfDP1lKUptbIGv1mJX5fDi1o6OELhmgV/POr4zyMZlYGXp5KHWZG7o7GWGvFt y+igf9gbnRwcDHrD0dv+cECuVMOjazTTkh46277rr1bboPC1auM9/TYx6MSFqdLht2Z5pkve7JFr fezO8AkexlXyiV+OYg8I/dsnn9HPQ+wEmsnIHenOiGn9qXjYOXvH+jcakh9JRa41as2qUmmRvT3S qMgFPw48sjKiQNgM1R6le6k/gJLSu1hrYBflrUzO3/4ELaMD2QhvXvmXXpd4fU2f6MC1GZ2oTaL6 V4cczVrQB8zmqmuineYRPI/gD4vgL1LDX7Sqc3gYxJpI+X7n7Nf+8aibWvnu+Dy1/PRk0P8wOh2+ P4NxHw16R53jYb8bHX6wtuP93pHIv87uNLrbRJYuxgT+2IutOaKpJsF7DIjzXVJ5+VIBN05kkGsj 6DaWZeSEn18p0m6Ct9DnC2MZoARxpQJ2gJjbqlSq1UZFqirNeq3RqDelxrYvwwHV8Mr1nJLuq1fC K1xz1fmvR211jOFKdYR46PiswBloBPqyS2gpDYVjkKJdsVhkXd6C3r1+TZTKFuvoK5Io32Jtfo1f +vL17juL9V+gVpuU5M+7QAI6we+5qpukiCz/g/8Z5y77bVPXs00i4bc/Ir4RkcejxPDaU4rhj6KM KLD+LGL442gZHcgnEsMraRep8xiex/B/WAwPeBK7NqWWh/g8xKeF+KpwuyN4aVisr8UPH0ZcXTSx e5wGNB560T8/DXg6SOJvfBoQXlfPkUSOJP7BSCKHCjlUiEOF1hpv167zCIQJSjwCaUiS8E6QHKmp PMrLYi3xZbEGS6rwsJfF/OjVaLXxXrYfvujNAgwLo9bu5jbZ3N7EZ9GbW5tg1hPMY7Lp0ht3s8Dy mYygu66tgx0WNW1Bwm9Ikh2MkxGZ9E0y8UyNv6aMU7vZjrzhAAEWs40kVNzjKm77yqrOnKs7Gqku qHLhuXQ0Wqlu0muIzpuomTZTbfIy1JjXwJRudEyLPVzjFyQ2dlO68dstugVtsFfiNFgyoGZxotuO i299gfGC48G8DH5vt9JEgQYQtKmqzUQp+hi8EwIKGx9bgr+ybBwDywRvYJl+NgfGFA6l7hJMRKCC d9HNSEs1Bv0CnYFzkxiWtQAy3cVHc7xVlT+Uw3dKWTOqYVjXqIqJ1sje1sfhwYaL6Cp0XBO78M9r oqulN2PVVR39d7pLXr3StxLw01eC9xYHxzf7kuOO9zSQD2LZ56npwTfXChwiWVoeJq4Y08SCyLFP jn3+GdgnrBL3s2nanA96I6WG5ygwPCf76yMndwwBP7jmJ5ReWJaRUry6HxeWXqOXTSENbg+iIjs+ HgOnCc0hDMLkAjwHDfgEeqMC1KLcCWHGOogUtjVn/kcpyxKYcL0s9JqlvSuWy+UtMlmAB3cnpAgt gqfbhin9pTOC0YL53BJYnJl1beiOy7kWnuuQ4osMWu52i+jBthl5kX3eAojiM/KvbRI0LgpCSXiZ UdfIlaWP4RuLon7XR7zrpIh1AbLhGOwGvVqlWtsNS5ZQUlcaTV7Cek2KGweGOt3YipZ9AMofx/82 N7bJjV8V9JgUYZAJi07bxKFgDeNt9hYYxCgb3LxL5055K8BV2HNSvHmz3CYbNxiDfoQNsYeqsM8o f5sstzjwik4uf8kMf3EsLozo2/47pUbkZq2GF2OkRrUhtep1WZHrnmFE6aoVUqu0ai2lUWlBbbRy dPIzKXJhOz4xgMqQvgHSEIFyih9XFBKbXrynyYWwzrIAI77pjF28sC0wP+yeeHuRhGzBfdL12X1b WI0OzuyFDvEOUwqWUsD94eHuis8zHaCF4BYV4IUSWGd3+VwAnvEA6OAeAhcUACPM67SMmFkYsLkB WR7mi8PCTwx5/xEVhWlQxiNEDIIIaPiC2lwA2BPYGHMCsMt6ifQRyeoVbHemVBSN5gFz6rNykAbQ MmyY9Vs3WVobvhG4G4cGPQRrHFCKV3Jh41Xir81jnhyAVQ5LSFMOyPouS26JeecsbzrjC4Fc6Sp7 Bz4Qj6jCAiWoHTJ2DMfiSJ+BogiK0nneLIRZDmdguCmcRAFAvSyi5oCZyPd7ZPPf0qaPoPj+CMbG 1U2Ppu130n0qLukrdYSpvsq3uiAYP2HgMRmmCp4BHV04iiCHuQ4k3w1KQCL6BizbJpxtazdBzhQI i/ELZ2EftxnJ1m6wmxMVgfHeTbWwiWHhWdqqiJWy1Kik6OsfDNv/wu2lc627AJMDglevkOQ7rP9O UyHmbDqbbRxEvgXAYoKfYW5AbdAyorWoJ9MeiC9sql7uruSNuTxusFDP9U2XB0RZYiZcDOs0p5jc JomvsqQw/wSzHS//wx+gP4IZQoSwEria0LBc9PWZ2/LQGhluYEWjt/ARbzujdwTlJyp4zt0EQ7DQ OBOs22JssW8M2AwRQ8cFa2xshQ6dTXMoH/yVv1rW3/bFlfFXCNclumY2wOjHm2RCyhADN3wJ20Sp b5NqrQxh2x+61GC/lWxqYtAblqqTeWh8DRDm2G85w42Tl+Cc9vyOz3GfpgHuAVduMfyTyrOF5z4B jW8s5CWRpS1fX3EPhwBE2l25rbu3e/6ZlV/xSf8M1DrKL/tAJtppFk2C/SdIiXVYCDYmthus5nK4 Aqq17bCM5+k93Bji68bXsHMO5jUk8WMPoqhatVytwX+87o9QNVNfCa83w2IWKJfQhK7xcfwUEn72 w1t6LR61feYNit3HyAMzzV4K90yWGibIohk8o3BET1/8PjDsL19CsAATcXiIBZ5Q4vEibuSfpM9Y uHmzydc9VNyq5/dM0ZV13n66ttZxlLCZX+egTdjRRw7a5JbwzG8lUySptO554iaolnr4NsDcRipg 4q7YTFWW79KkHkkrJmbDC+8+AzbUMEWiyKZIa6QZWXc4g6dUchvzHzzwEI0vJB72VPD5PKQyoWQD M4SyvsTOzX5L9C0/qMkPavKDmgcc1HAvDhtQE/dLoxFbdqMRL05dkJwh2HveBtnu8PWKlJV/vKlI aan9DDzU5Tk/mTNm9yv4WTg4FAzWq5fdRGHVWtYbMU2lHk/X6GcpL2Gm+gglZhv0c65kpTZPMjXF xDfrs7Xi7ytNf9fFFDhNlplPyAAjJMCJU1Zuyb0To20mnjBharm4ds165ry1qvGk5KXfTQtCFGwP oNkIaW2NuzBCaEpL/FL61diONJBIBWOM20RqSEpJqjTwKJCUYPtsqFOMloBwIBKxNxkNA8ymEnuz MpDVxqe1uAKsBTXZI9WTgwNmfGu8G8n7mYepPEzlYephYeorw0yT3d3LcFf1tPch1fEYyB3/YYGj 4l7y98h7kM1WY42cJffF1TVMwfen4Go/inciHUOPFnauHEXavyU6m3uw3IPlHuxBT0QDiD1TndGE quCuqA+mw5ERqoqTLSLFwDZH6mHGj9Fo0DnuD/v/1xt19vfPegMczy9fonJI0fdno2Cx21uBWP6g 6bu1PcRjQf9mq5mVQL1VkeJvXy8upyVOEKGrZeVnbLE878lUd+yvtiCYjbzwz6m/ypff5s2VWjKb alyLNZN1xNkenk21tcqEn7v03KXnLv1Wlx5O+MfBEOTioJENVb9ZM7VunuYqT3P1F6e5itpjIpzE A8O6UVWzJpNvFEvleCzlba8ZQTlxWtzMo2UeLfNomUfLPFrm0TI1Wgah42tj5MJdfqsQ2YiFSNb0 mhGS0aYEyDw+5vExj495fMzjYx4fU+OjHzi+NjyiiQEt+zvSf2qcTIQqKVPn6BWRDKU918Hroc9G 58X1+Nno6rnzxTNSVje+CcJrJg9BeNtrQjxOnB+C5CAvB3l/JchLTOtZj7ebNe3nwwEuhbTq01/j 48pHfHh0mv8djhxSPk9IGQSqh2BKx9IuqftsQETKn7m7LwxJ/mWtr0C1CxWC+LMZtYU7s6n6fHAt f6Fuh//zLTBjo9quxE8FY0qs+wdjoly3XkHJ4WQOJ3M4+feEk0kjOun+3LunGaXOYCjxtHPWOUrV zh/0HNjmwPZZAttEEP1ahDuHKAkiLr8Vhoi/GbVqf234EDBkIYccNOSgIQcNOWjIQUMOGnLQkBE6 H3Ii5pnP5pwEIYT5fA7v6A3VvtVrRY16Eo2t2l8Tja0YcjSWo7EcjeVo7K9BY8l+HafVgPfshXaU I7gcwT0zBCeG269GcGjTI3rz56IiAWRU4+8urxRY97XlFUfm46IcZ+Q4I8cZOc7IcUaOM3Kc8dAX u8WA+7VAY0pda/HNUIYUQxlB62tCjIA8HV/k4CIHFzm4yMFFDi5ycJGDiweCi1WofchDKFd/Rq/M +X927JloG8z810tYGd3DLpE7FLMpP5+BC73fg14CfLqG3RATKoKzXFDbsUzV0N0lOewfn3+oVtjf Lr6gxKFuhBXzkD868P//9t60vW0jWRv+fPQrOp45oZTRwp2SHOVcMiXZOtF2RIl2Mu8EFwiCIsYg wAFAScx4nt/+VnVj6QYaFKXIW1yeiU1U9Vq9Vddd3d3c5g/FFq5GlMr1qLsRlXiLL0dcck+A1aY9 Ae0JaE9Ae4JPtScojo9jvSDedt/sXz6uWy7szCiow5PDbmlBysbitVTCZXY0xalaf4GwvD6tXhxe GvEiJd4CW3yzMMzdZbe977QKNwvj/K+u2jzMQyveobq+FeIX12dOLlmfWzXdWydCoeBPLmaKMwhq zgZ+NMa1OhbsUEmr8dR76RcpHTxVTaWa7fJKtZqaSkFNjNC54S85OiFL3iQvRHx2leOhl+Hb1V18 UCV5yFwq5/IvsEMBxJO7cjXlW/V/0+T4Ed9olwVKygwpM6TMkDJDyswyyozCuDq8zAuJB317fPUm rdrSOpBzA4qNUH1WSl9QSJ6KkNaRzIpnGNbUnYX4H9eEdGtOZnct5+fNq8soV3wtKVGu2jotxjCW WfLbz6q0LLvk15QlXynpUxZ9JYHyZb/2qZb9Nj3aQ8s+Lfu07NOy/3GXfVUch90TkeHx6xNoBf6E 07MrBspa86BqkFuZNMqBJsST1IP2Tql6sN3QwC53phPBghONTa4c8LG/WeNPWpsRPl0vJ9FexjTz aNtGW2+wadfKbRvtwiOnnh1tObmnMHio5y9uQ4v/cHJZcZvtPNA3wifBcjgfD/bsWthObbdey2E9 afZLYjxp+BJsZylMh1eP9CHSh0gfIn2I9KHPqg8VQxiLwyDz7f6xtsRn0BuOj8ixjhzrvhrHOnzD tTChqZ1UusK03CdPUozymo5eC2+361rN1RjmrjDnAZ9feW3XtcorksuU106n4OcWzCzYLowC+1+b 8Lcxcs2bYpznLzymqik8kssKv1PY9OQLP77DJixE+uTW0Fq1ulurSwioVNAKG5sh9CQG43lgQ58x J/gueVb8ygpOFaumZZg3N4FUr7WVvJ6uVpP0cdLHSR8nfZz08T+pPq7jHJyUTBPXXeRfHv4f/m0c ney/7pFST0r9n1+pT6MmY0eJlhiX8/sAHUCA/dKxFDWTxWoZWuvLtLQPik3/QTv/Z1RRd/6Yiho6 v9v+iD2kqZLCSgorKayksJLCSgorKayksJLC+hkV1gU621P0Vr1lvFM4G1Qw1UK1Jmb4vhDra7HV xuXXGGtjzgJrbadK3qSk/JLyS8ovKb+k/JLyS8ovKb+f3FqbqmmPVHs/o5b6eHOtqqVqdH+tsko6 K+mspLOSzko6K+mspLOSzko665dlsP1DqmuJxbbeeshiOwh8c5j3r+XxPos23EqV4VkIQyAuLvYr dmu6MxtvTQhsFlqma8Y3APxr5uBlCYWtQFqzWA3+rVBDUnxJ8SXFlxRfUnxJ8SXFlxRfUnw/rbFW 0tAeq/M+r4JaUAqrBXLJ8bVOs/aQhl1QrjHKZ1Cua8+pXJfq1Vg50qtJrya9mvRq0qtJry7XqxeH e3V5vn+wf3BwSTo46eCkg380Hfxp6vfzqrAF3bFaIJep360Hr77ACm6GpuHaXiHm81ehpb0Ag5PL qrBd01wKfGczE1TxWYhEUFrYqfleuemvs1P6rNh2Iy8U18cfeH8cepEo2W+3y19d2N7O34r3TmLX qtVH7sL8VHKSMGVpbrjvajWGQmXFjApiBXpH2pnBVBiYgWOHbJ2NbXNoB6GaSmdbd/3yxHRd38Ld zoE/u2Entgl9aK5cq1irbtced1HhgzXN6rjsVcytXegnd2bgQeF3mTOZuo7lRPFl0eJaP3+kJIH1 MkI7MnBKsCvs7xtvk2gbSbgNKf4/Vlg+EluNKTcZZW3t5UruwuYnlu3mMWWT82vvtuVbqU1gBAas SbYF/xlj33//qNup4Y82Eehv+E9yUfVvxTJ8xDuqk3w6al1j0TmeEzmm6/z+1Orq09HWWBkEtLen vT3t7WlvT3t72ts/z95+cdhHBDN6+8bJ4Vkx9Mk5zIA4fvmSszSqJ5ZIsev6L1wO460V3gfOl8nk avB//6dkL7asOhWnv1gJSQM9sHQ/vH/Dpbzs/kPgNeULEHHHeus6E34J+Sw0Bw6+OVeM8NxbqThZ jdLP6fody8LCTyGODdrX48te/pbds5Qyuek9Kekj0mnl0xmakYk9K4jUgO3tj7F/cYe7rNqp1TYa tQ47vLw8v9xl115iQgrnk4Hv7splyiI0W+waFFTYgrGNgeubw4k5xdvNNwae/6+ZY0fMn4q7yn3m DyIcVjgsYJhBNSd8T4B3l7v4jHJ2ztcdxp0est9m9j2o1TjMZmFRGqTIkiJLiiwpsqTIkiL7NSuy BeH0T45PU/GUqrn2PWiaHigPpqw0/P0fLwXJGr8s0WljpTKLw35k34vgS+idnXK9c6eevwkatOSp eWOjr3wx5MexxipZaNQ6Ti9Tx3YaeXXszg/47wloN3LQWrXzuPOmj6+CyKJYBUHf3EriLhdnuxQl qGGsvBbqwf7Gi3wTDZAbLn6qMRqP2zEsARxgHgz+DaIQ/j4+hb8cCHCbCibRFJVndgRmMMd/eQKe H0EFZt5wiedy4mqQHkl6JOmRpEeSHkl65J9Xj1S4rw+vLmCm7x3/qmmd09P9i8Wqp+Cd38Ia7Axt Znpz9rrbRWUTNFJYm2HhjHzulRz5zOTWVtMTK/Ym1y+55YirqQPbMgXOGbGJczOGv83IGnOzUqyF 8oTwqCVmIqIPZo4bgWZiQvEgJKKvITODm9nEhnSy7O/8mYtu0o7rIjrrzjMbseYtyVijftHlM1ri pSMU7FQfWl17SK/OBX1Qp67VZP8YVaeu1Vp5nZpnyrWyd4NwqAbuPLtWhnn8Ia2MJ/BIraxDWhlp ZaSVkVZGWhlpZaSVLa+VLdZMYuKSSsn2AqVkJ3+P8DQaB7Y5NMwIvt4L9SSmKTHr9eZzayhxNguV lFwBNPaxeqNZbh+rF14UtCam4U9tT6lpLtL24/yTl69qyKRql9Z6OWh3M6nJl4HsCqmR7ke6H+l+ pPuR7ke6H+l+ku6n6/e5KSaegPaPDsmGp9rwUp3tQRNeLuTDynJ9pxQVrzUKqPjGYODcRL4Vq1Fq aHzX+g9rjRtv3fU0F622vJSyzAujUZYbLenUlpyXEqpZ8G18936ghmg/ubJybdXqFo+jLVFrPLuF p+ti1+EhGwX+REoJTwtVd1e2ZmGwFYfZgqS33v38ih/g3W1VdxutnBUUA2B/9EJo5RDDhlEAYdmZ z8IZHh7CLBFtdwJQlf1gviI5L5fE/kl3JXT+z29L2Vm5+EnXJl2bdG3StUnXJl2bdO2Po2uri/q7 7MoPlR7rEj+VKKegPR3YoXURBez9ABZt+H5tRz/b84FvBkO2Wl1H0r7rdmHt9z3QosNTM3zPqaCr d/3A/nkwXFKjbXbKXpED3nb+UuJ3waRnRweg/AzM0C4G/iJ0vEKpNJotp5eZgTX17lmBbXuXdujP Asvu8dtPvrnqn83wfZPzkfj601Z/R3aSxVxh74y6OWsr4Vq1L2VTUyiVpsqturRzbeNmxLPvbPm6 w1q93c7vYO/Nu8YwF6ZVNl8Ar3CdiTN4Z96pgb7EniJKVRRbvb2j9pSX8UUvJzPLGbLI9933juIx Xe/UWrnuE4dKupEauvFknOwjSoOXSiONTrP1YCfqtAtX0UxmXcjHDqJeZHpDWMN6NkJG/DYN7t80 malJ7Dzu0qKnCGUyQ3DtXQR/9VAUx7B5eJqsdnR3IdXq29Vq6RxT325UC1Ps2Jza/zezg/lhYgyI pWPfqz1su/XxRxDkyWIxPYuUeJl1UmqXw7GNavuxd8eWIKq5A8si4WJpGjD5PzHDjY2pPTS9yLE2 uFEoLCvCkpcI7TR3mymiOjVDPumkRtMWmlgr7y7tGyeM7AD0Xy+MMHczsrum6w5M631FmLZA8wQt 0YycgWuzqc/NvtxKy81LlutAegYeEVoTV8n89rCJrFNiIhMGssZOqw2iTG/cuZ/CUMf30N4dH1wE vlVhg1mUVcUJsS7cAAwhTnmIlcS6+wpmTra4mquqmey35YXY/iqFeCFyXyBFbgP/4Yc/LkVlVJD5 kMyHZD4k8yGZD8l8SObDP2Q+VGK8uzztHV4d7F/tv9rv6fi97uXh4VkyU8TLWlmws+vTV4eX50fi SxOsVrtsa8jGcW27LLgBapmW9e5KlxZMJO9Or/V0mPg1KcXJL/JgWNKwGsT2uXLb6oETTl1zzn4Y ih9oEH0XTBKLJhsOkCJUKEjNwFtYVYrlgiLJowltFfS/WInixFg/Yz9IWuFLXtIR+mTC6gfLVdcw RIWPR+zOrgQ2PzgTXyHb7a4zJ6qEqFkNzIE758x3R4Ftb7fXYzcKUPickJt2s2ABumSsc8XwzoZS eRVxtWToT2yIAWm7znu7uFXJXTSwjLoYi/GHdVl461xKP6yLYi37R8RJpLmeSvAHbsBOPTvEBV4P FCtu1HVoxnWWNJ/4xZttPW2ruJCq6r6EvbzJ7eWyeWerdwr/5z1Sf+uWiPIRtrEi4eI2tqnY9HOb 6sUV0N28tVz5D3OFfe6CchuJUtjHpJQ3aPcm1vnU9rq+58mGqN6pEq9VffJdwssaWmSrCtpcns/k IkqvEXqrWn5DRLO13cz1Dtk1JYDJJyjt5zzuc/bz5EGc2hI+N3HRnuhzE8d+Pp8bIQzaNNOmmTbN tGmmTTNtmmnTTJvm5980J8TFGyPDDG7a6c6qWJHeAztweruJ3m76gt5uelCLLyjieoeVJXc72k3x Upsd7aY4AQA7tKmhTQ1tamhTQ5sa2tTQpoY2NbSp+UybmmfWIxOoQpPk0il2avUFminUEhQts9QS z2N/LEt85wGlNS3cE9XWNP5SiuuyqisXCamupLqS6kqqK6mupLqS6kqq69evupI9nuzxX6w9XtLk C6r4H9z3aG3yS217HrLJ0/aGtje0vaHtDW1vaHtD2xva3tD25guyzP9hjVJnm08TXTrNHeUdxbux HY1tvAsjGg5gK2G5JsRjYwM0yHzEp7+H+airG57xGEHJ+5rNnUat/BjBTvHZ9H8FkThkMVFDtp98 e/6yEpmwZxRLvFPYbu22d0GfDjyo4C7PD4JGWFu+I+N15jffbjjyTQ8ohgr7u+2ZA1TMB3Pcepog w3+siDNmXE6r8T0CuZP4Qli6tpAfay20BV5Qkn9ZynV9K36+Ab/kCK3qx7/YCPNkvGmeq2Ueep6K 5/io56mEHGhPRXsq2lPRnor2VLSnoj0V7am+8D2VQn1jHF5enp1ry/TwnQvf2KsRqVL84KsRuZAP 3hnQqtZL78xsVQs7JVU7x1+IL6iRPv6mKcn302rpaa6P1NTb9JgYaeqkqZOmTpo6aeqkqZOmTpo6 aepP0dQ7pe+7tao7+YvNJYV1M1QD1xao/PXqdi4h07LsadQshvrYwMjz6PVLvkCc1PKLeIBYyJf2 DLRnoD0D7Rloz0B7Btoz0J7hz7VnSKin+8cnfF4/gbnyaPF2AhgHIlasrvFtA96P6vnWzJ+F7NYM HCj+OtqnLbwz+UfXmYDOvzn+KXN+iiPHO4wj0Onse3Myde119uZi4/odq9UcbcQbO4qcie2Phma2 QRiqJUrLYiQqZbIN6s1BxBM2BnUVX+jwWbo6h9FsAPsBK/BDvlMZ+1N7NHPdORvZd9kuJUxuL74b O7DzsaDmiW8Pu3OisdiBJAWBbQVsmlz/Lq4nuwjsEWQsVQzK8KMZhnaApy3wDIphcK3JwDc7YhV5 nYUOnmUQaUiRQXcNQeW2b2FXBVrwKLBt7DpD3DcIu7idXd8s76REFkjJDm+kyfINVXreJmGnhZT3 W/h7xu+tzkv6W9pwSs0tKn8F5QP9jHVT7EK0ZChu5sYtXeLyFcY9CTYhDvZ/LGN8cTeXj3tnzkO+ 6xD96/DsHOZvKGnPn9hSKjA4oBzRzMQui9daD+NEstu9oWsE3AONJwQ9LBYQ7D9hs+TyWNjroDVM 1zFDSRzpASgxUJJxxT58yHMMacxZY/+9zSZ2rscs2JCrknx4P843aUtvo2HuGPthhPX8WrfS+h1q tVwoOW8/vVSCWWjekEwUmRjWLAj45e9OYFCXUQ1beF1Jc5skkrkv8xcLSSDyCJrCnBI6v2sGzmPk Grm+Zbo0+tQJmytrJBO5n5BM8jIZz6Khf+eRSOShYw6HAeIDJJWso0RB6NzA3oxkIk8oDhoaApKJ JBNvGNHAyQQS2NYtPtxKIpFn2NC33tOGqaAN22j+IqmoUnFGuB5rAn4dQlnSs0GqKDk3kHMDOTeQ cwM5N5BzAzk3kHMDOTd8eueGfJd4c9674vqJjnl53UPdQMcyuteXfH6Dac7QJ3ByCYtRc1vTT/mE 9MgeCt0KarF/UlJS3u21sUpZb66vDs7favoJpIcD8fjsSCNk6LIwO53tn2gzO8bJTzfSD88OrjSp XR52+0eX55pWhkLgClfaNheHh5cpcwmXlUwPf5rXShb/eR1XpHJlvivSpuETu69IxfmGPFg08v6W nFjURl/5NvxYpErrXFmULvF4b5aCSJ/boQWHy7dhQZFrSiYUMqGQCYVMKGRCIRMKmVDIhEImFDKh kAnlE5lQJEX8aTYUKYHnNaLIJcusKPLG4RObUeQCfUN2FJ3EvyVDSq7ZV74NS4pca50pRe0Vj7el FKX67KeDTAcKG/Cu97VaUz6Ok44LTUkSkSUytGGOJJFknqFzzyJxKO5+dzBtk0hSkcAsTyIp9JKb gESS6yUkElUkkT+zxniN2NcqkyURnqyehO8QvkP4DuE7hO8QvkP4DuE7hO8QvkP4znPgOypz/xhL yTVybdST4zN9mgeHJ7rB0fvlrKsvw1voAUUO1LWEA3FeX5bFyThLwFXpruJpYFUa/XmhqqxUGVCV 7X8+MUyVFeYbAqmK0v6WICqlyVe+DYAqq7MOnpL7w+PBqbw8nxuaskYT870dmHdfqw3oI9jFrFFo R+HUtocklEwo/nSOV7l8zSKJX1CuNapPe0I5kcHCZ5STQGVPKT9XgxiGfW9bswjLYfDZ7GttmiXN uJoKkz2X7LlkzyV7LtlzyZ5L9lyy55I9l+y5ZM8le27Bnqtwuken+z8fXu6/1bFA5D2QxIGGd37x CzbUsgbi4n7laZbiYjrPazLWlDOzHWs2XZ/YiKwp3jdkTV4g/2/JrKzvBCvfhn1ZU3mdoVnbVR5v cS4V9XObnl3/pv61mqwUa2LtadZErP9CSyIGeGYrYrOZv2cYumX+lmEM9PU0g1JsnUCQ/giBOHkf 4a9LHGmvbDytV2L9F/ZKDFDeK5/UCK1WwbYdrzDGzLtzvKHhePn3Fzq1r6lVlGLr5NPZWSCfnVpe Ptz0xnfusWHu1nRnsLbY9hAajc+usBzDkgWqippYo1b9GgXHi60RXKNRvuQ02o38uQiY7qJpVAz1 FQoEi60TCNLLelKj09GcJ4qKYb4OeSx/R/b0S8GKuHQJKyKsiLAiwooIKyKsiLAiwooIKyKsiLCi Py1WlJtHX9c1LQGdVdcO0A00hTJA0T4+uUK16QyUpwNYhHV9DMp3+LOm2V9DblcXSx904NunJ99q Pn1mtEqURrnLfPrJMSlRiG8IhlKl/C0hT2lTr3wbYJOob8mV5dOnQUqyDB9GkbiJpMykVzBgTf3Q uTdgMHtfrx1LbyCqlkulYNfbqefBtbh3Qig0YHGz/3QWqdGaza8GcFv2qg9exy/D1MelWzT1JTY+ jAbx+YgVsckkSCZBMgmSSZBMgmQSJJMgmQTJJEgmQTIJkknwE5sE1RmXK3nnF4dnDxkM+a4+NqRw ww/fi7FVCAn7RW5L+QGthdxkGLHVH9ZW4d+12CjA/3BTEDcg4C+Yiaz1OOIP8HG7loVE48J/MTSo rWIwtgebrCr8WRN0lmSO0f5e/cc6q8L/eVb/pZoe4j//wQp84q1xhJvMZ7UiJNvUkRmZbrpZjS0B 8K/I0fMjNvJnHt5ugEZEU2yA7WDieLASDDdpF0u7WNrF0i6WdrG0i6VdLO1iaRdLu1jaxdIulnax tIst7GI9axaEdvhJ97FJnrSTpZ0s7WRpJ0s7WdrJ0k6WdrK0k6WdLO1kaSdLO1nayT4Bj+X7xk8N ySaZ0l6W9rK0l6W9LO1laS9Le1nay9JelvaytJelvSztZWkv+7S9rGVOP/lWFvOknSztZGknSztZ 2snSTpZ2srSTpZ0s7WRpJ0s7WdrJ0k728TvZj+BerNt8Vov0za2kIMvFkS/eT8qthGjtfJVPL/Bi Fyvcrit3sd2a7k3geMOt5AdsvGehOXBcJ5oX4z1CDJZSe6m6UFLlyZNWdbdRy9knNMXaZWc+C2fW mL+OgbeBDZ3AtiI/mK+wv6Q3Impi/rTCFv/5bRmThxAAvQFApgwyZZApg0wZZMogUwaZMsiUQaYM MmWQKeOLM2WkSyysuvoOCXNplnup5SPbWcHezvHjq+bFbex5pR052d304Tzc4nfz566nz0cWikQx LuLG+qjyLiIXLxq6ziCOpZAhXuEWfakcsebH6WXJpaXQ1iTeaMQps++EqIfqluf779ML2pVNSC7f iT2BbW0hX7lgsLW9WSTYZA+ji7eoRTKlUI0J68yDjRlrmgXZQ9wF0RLdWo0282DxGxaiLdzmF3br +uvolzCBTCGmja87PNoCcpgzdyimjlqHTB0aNpk6yNRBpg4ydZCpg0wdSwUjUweZOsjUQaYOMnWQ qUNaYp/N1PGMu0t81UuT3PKp7TRzqUW/h3ZUDPPVeSiIYus8FJBe8maaRh6Yoet4700SSiaUGzsa RubAtUPnd5vkksplZFqWHYbUV2SZWF7kkjwyeQzxXcqhE5BMMpmgNZ5GjSKRuWeRPOQVJ339mcSS isUzPR/l8rWKZMkXXNNqfhGPuEqNRwAGARgEYBCAQQAGARgEYBCAQQAGARgEYBCA8RUDGOpK/SuI RxdhH/Sjs5/39Q10AHP3SckgPNrvwqTd08U86p5dacbE0QFWBiYJnXBA9dAmVdrhcHSdHx3s/7IY rQHGgYiY7D1xI2l6sH/0fGvmz0J2awaOKc7kMsuEveiPrjNxIvRhZEPbcs0AX6OJY2+u8AOzR7BD te/NydS119mbi43rd6xWc7QxZYtHiiENc2VKS2OkW2R+nBiK35vDkjFhY9h/2wEWPt1thNFswGCv Fvgh1GjIxv7UHs1cd85G9h1uXyOfO2OuizKzu7FjjaGKHpcT7N8jcfUSP1+cFmV17SUb2K5/F1eV XQT2CHKW6gaF+NEMQztAh010YzUMvg00mBMmnqvrLHTQNVKkIUWGzXgYhcy+tT0G2/pRYNu4Fg7R FCK8Du0glE5Ux06gSRZIyfw/02SRnLnsJuy0kJwdu4fi7xnaJlhB1ue3dhA4ENP05ux1t8v4WuyZ biZN3n344W6QI7c2xHJCKwaX5MC2zFloi6Pczs0YD3RHIHg0ccTnrnlC/oiZmImIPpg5+Ggwb0gI CR0UhAQqwWxiQzpZ9nf+zB2yMHJcl5nTqZv1qURO1tSdhfgfEOPD6C+6L2QJFBpc1P4KCghbTtZN L/4SbRlCgaBhuTlz5llocgnjzuREzMFBgIUM47ZGAbl35jzkhhTRxQ7PzkElhaL2fMgxSwVGCDOt aGZir/XMiT2MEwkhHOQKfQI6RxDhD54Q9LFYQsxD+4/LY2G/g+YwXccMJXmkXtRirKRji334kGcZ 8sCzxv57m/Gfcq+BBoW/xel8PGWPJ/DjBs0JkzHxt3zM/j/l9sEHwVw3JKu6LI/Jex8nxenXKpIl zaVpNclcSuZSMpeSuZTMpWQuJXMpmUvJXErm0qV7KJlLc5IicymZS79tc6naqr0krSWsqMmW9GlW 1CT281pR0zJlVtR05/yJrahpUb4hK2pB1t+SFVVu8JVvw4qaVllnRZU6w+OtqDlhPrcVdepM7fqf 3GQo6kj2QrIXkr2Q7IVkLyR7IdkLyV5I9kKyFy7dQ8lemJMU2QvJXkj2wqxVH2Mv5PvRpxkLedTn tRSK0mRmQrFb/sQ2QlGIb8hAqEr5W7IOpk298m2YBkV9dXbBpA883igoy/DZLYKhjYatr9Um+BE8 K+M8jdC5mZjhe5KMdP/JeOIPSSCFG5VIJKlIwiiIfGdi3pNMVJnMSCaKTOYTGjnqCQffMl3U2w26 T0lac2YoEk2or0MiS2KWSS0JtSTUklBLQi0JtSTUklBLQi0JtSTUcukeSqhlTlKEWhJqSahl1qo9 bVoXZZNNqkgfvz7d7/2sq9Cb03NNx0rEp50ars6PT/fflbCu9axfTvXJ8emOq1aXy6Kx8U77aXhs HPl5EdmkRBkmm1gDPjEqmxTkG8Jl85L+lpBZqblXvg1sNqmxDp3NesLj8VlVks+N0Mapf7233zzO Bgr1JCsoWUHJCkpWULKCkhWUrKBkBSUrKFlBl+6hZAXNSYqsoGQFJSto1qpkBbUzm8IfsoOa0Uex hEKpCrZQE40vK5/BGgqF+fbsoZK0v0GLqGjylW/KJgp1XmAV5f3hyXbRVJ4fxzLqfbXOoR/BXTaW yNdrLP4YjtXfhAuxSy7EZDxfxmBHxnMynucsuGQ8J+N5rsRkPCfjORnPyXiulJSM5xmTjOdkPCfj +Z/OeK6WjutnZxotIGYsfwuU+0f8jt2P4XfsFvyO3c/jd+x+e37HeUl/S1Z295vzO3YX+B27f8Dv 2P2ofsehbQHLgCnE9m7/5MZTta5kQiUTKplQyYRKJlQyoZIJlUyoZEIlE+rSPZRMqDlJkQmVTKhk Qs1alUyoTzShKpv0pxlSlSSe15yqli4zqqqmhU9sWlUL9Q0ZWPVS/5bMrIWmX/k2jK1qvXUm13zf eLzhVSfbP2Z+bVTbkvn1bgxysaUrgWF8AzNkV7+qsZrVr8UQmyW6W4NS13bZnRl4UNldZdBAY5kg H46TVaAFKuzvtmcO0OI5mCfcf6zwZoFWYb/JCbNjL+12rIJBKrtqxs3dhpQx9mrHgu4tJnhursVh m6UxnWELQyE23iaBNxLuhhQLSsRwtlwVEdjq1a/G69Or6hr7bo9V15D7m1qS1m7rUSVBK/GS5WDC pLxag37JPxdn7eHUDLFByKXl4LPXhuMVC6RrHSW3ziNFPvNC+xFCT4Kvvrj69YWosFrdVvVjV/dh kbfqX0AZPnqzL1GGttoZPkoZRAmqcl9Q5kvNgQJO39xKiloSR4FhEvwFc4My8HVLgDgE13gE1xBc Q3ANwTUE1xBcQ3ANwTU5JsE1BNcQXENwTVYfgmv+LHDNX1ILPdothX2e26Nji9jf/wE76RdXv+7h x4uXEveid7WdcvGDc2NDnzC/MsbfR4uY599BQG4ZXV2NaT+ssWpsiUXT/NifBTzHdfGTG4pidrmh 7kPOiIHfaUqQZWaRXf0eCrG28VM0MTCACJq3RqXROePh+LmSoRQWlQyDl6bI9vayouvj64q7OM3v 9qT66BPN7C95A3ij1Sq/t6HRLjgg+9Z7OyoG+noM3kqxdXan9oKLLBqduiQQz45gKEZbjrc5ZrPQ HDiuE82LER4hHEuRiSQEKH8xYV3xkf6E4k8hjo0I4qNLf5gr6nMXE7udXNRHpLMtp2MGU3MLUylv rO2P1VjbJVLYflLp9W21TOEXt9UfLyW2lVTS5ZNpVvPJTJ2hERXDfIzm4QlrKv7sGS6LiXVau/Vq ejTBvp/aFhq04QfIL8RYA3uEZxoqaxUW+e9tb4WvEaHzu+3Dv6tceGtra8Lgn/vzW0nlyUZONnKy kZONnGzkZCMnGznZyMlGnmOSjZxs5GQjJxt5Vh+ykX9lNvKElSXW3e++0TTtMSpJQqfuLWtdD6Oh 48fu78IzPL//Q07mLx/Owy1+biDnMp+PLHTSYlz0bdNHlTekuXjR0HUGcSyFDPEKnv1SOeJNBKeX JZeWQluTeM8ap8y+E+Ieqrvn779PncOV/Wwu34k98YN5IV+5YIHj3SwSbLId1sVb1CLZ/kKNCSrL g40Zb1oKsoe4C6Il2zQ12swDPWqYi6ZzkNdbhj6w/2I51/iH3eW5sajUhldrSTa825EfvC81tfKw H8G0VuvUd2s7aL6KTDcxoMVF2WVnPgtn1piNHNfGK0OGTmBbEXSkFWkUx6F/0tnO0HSGZ2aEJyyo qBPHA/V1uFmsHJnUVAaZ1JawXZBJjUxq2nqRSY1MaovDkkmNTGpkUiOTWp5OJjUyqSkzLpnUyKRG JjUyqZFJbTmTmsYyVDD2lNwgobeIad33ljKIad33EstXY4csX4UQZPl62GRBli+yfOU7EVm+yPIl 88jyRZYvsnyR5SsXiyxf+ahk+SLLF1m+yPKV0yIfb/n6g8YGPEIXJ7F8CvXtXAqYQDHI13PYN7GN tOu7bemSu+RWXqwmNzDxymputcP6l91qx8/IYwB+2aj2aB0KS3euEOmlXlSFRrj92lvhj8mjkZfH HYgj/p0TS/urunpVKbZOLO3yGxBL43SqC0S5UysRZbGLtau18oTa9Z38vQDeNAA1e1QM9vW0RzpZ tJ82WSQyWDhhJIFKJw0uNE3LcnppgzSbmquKX584A7yh2XW891AYx1PjtJ5nEvnIzaO5qri5W9vO GbpvOGSypJ37JsZXnmrl5pIjK7fKICv3EuZEsnKTlVtbL7Jyk5V7cViycpOVm6zcZOUumszIyk1W bmnGJSs3Wbm/DCu3mt35paaEfT35LVBxt/YAW8/tnV3gkBOr1RKW9pvU3XJFf4D2xuA2G7b64o3t uj5azdzhiyVfmGq3yw3u7U7ejua5hmt6N/hWPX9vqwvbKBiCaqydx52d/ULMnLzYGsNWp7rgws1O LX8v4GSAPrp27m7AziNNjUvfDdgpMcd1Gu0FpW7mbdZdDBsFDr/HzwwCcy6/qZOL/cgLVZevS8mV p51Oua23U693cnUxQjv652Sqhmp+VaZepdhFiXTqrU65RBrNP3jTpkhBk22znjfQ4+l512ZHx+dn uGqoodu1spml0ylcy5mY+mHb4Fumigp2OjtPbj6p9RY0XtIqxSbgWWtksV1d0ATbBaxTVEsN1Hrc 9Z3PWCmeta5S7XJ4prPTaeRb3wudG/Tbd32g8L9wfZIibVfr5WN3u9qoamCBwTxC2/jQRrd8xAeg cujsbnpq5OZjr2jIpLbggobtxu5OerXpzHvv+XfxO4P8QcmK50eVzDIPX8yEYM6tHYSmyyxzygdE 8nRpFvK3fC7YRfI3qFb2Kuusso5/vcS/zHBSQZigYhhmBNPzYAYri1FJr1dNM35SkR4umKb+UpaF 1iDMQWUQ5rCEcZcwB8IctPUizIEwh8VhCXMgzIEwB8IcigZMwhwIc5BmXMIcCHMgzCHBHFR57J+9 xiFgxKZ8jRbzCjsBdPzcDi2xGMNqG0ifUpj90wvYysIUAIKFTVthYu2e7PfegIZ6BX0JN8Wa7vSL TiPTyPMMMzg47KOp9cXW0L7d8mauq+yuDy9wF8AquxWJGs4G08C37DC0QyVBWOAvpWJP7zZ+mt4Z N7blh1Io3I50r3CrDMmzypac9HEvLhDyVg3LWFM0b2TLsUWIVfHP3p6a9Joacf9MjpJPiXG6HAWU 6p8Pzx7WMA4Oj/avT7DHXkOjKeIchlPFwnH1i3EM0+c+bzhEn6yX3Ca4aqFV8SX7zmIvmfW3v63l IvG9ai/ujdBjrOmcrU6juYHmpfU4s2lkCfxKjnn1cOwomnMr1epouKbEF8oFKPLH+wb2gv3uVd7I guo1SO817tV7rHpfr4o/UpDXXdRG/hd2zzjaND0zZuc60mu29YNi5MJV9PL49Zsr9qLrT+eBczOO 2Gp3jdWrtSY7CmwosD+K7szAZkf+zBtyFGadHXvWptwIYtPIDUbsxT26A2+OZf7h6X63BwP77Oj4 9XXcVC+m/p0dTK0NZzDZMJ37zmZts7pZLYsGqyZG67EXGxvTAPj3ez/++Ob89FCYXEPTGw78e7ax cedEY38WbYAKHn9t3G9Evu++d6I9d2Y5Q1bp8k3gnrDDVli3u7fYfluwh7wzUC04f9vLD1XgYEI/ 5xZsrqVfd481Cw6iMTIRDUSn+ycwoyvky8MTo0jlKXDyvm5TKDg6Qwn2w8MDsenkfyV60AIceOQB BSbY/YsL2KV2u4axEl+OvIy1Nwma3hcjPtGii8niyB3OJpM5jhbVorvzuNMqD9jXlWSL0MN2rfo4 d/8ls+PJarKrL8BHt5tV3XEF+AvvxomXCzxUMptOfUTxYqje8Ox7Ff1oLgPFlVRq4zip1rA2kL/q i+rb1EN32812Y0F9t3X1DeewwZ6wsW0O4QtPLOBRjYkTcUm42Ktd27uJFKhuuyXjYirqt92q7ejy iYLId0Xf94NJyCKfdXd21JjN9mfCykTWGom2WuV+AdutjoyUOiMY3LdO4HsIZ0EHmtqBmyDs9lCN ufNYdH0pWAtGXSPDtfRnhipxISsKRGTjwuJhK82siP2bzxgj33/J/pNU6qX2GT/Nn99W8GVBPPoS j5ghGwX+hMkF3W7tVndXtmZhsBUH2kquvdqtVWFgIjwFs569i4Px1vFnoeyqwPxRVg/Em6D/BvZK Ugt+xumHH8oK/luxKQjTUhmEacmFIEyLMC2d/YMwLcK0CNMiTIswLcK0CNMiTIswLYlFmBZhWoRp 5SpDmBZhWoRpEaaVDdWvHtNKwkHHOuhBF3yNy/u+Zkrs7uyIde9EVGoRGKaaZ1Y+CMPtX7RvJKjA F/8DSU8c7+Zunb2yz3vr7I3pvJ8llvjMSu9J71ysc5ANSWnaSXlyectPYyTc5Y3o+sOdMXsTQqMh eqlDndvtBe+gbrdr+RNzCBa6dmQjPOD56tmr7fZO+ZmgnWrx/KM/zB1+FIGeHdoTyRaBmefOLgYm 2LF8lxq2UWVX5tfrtV0865Q/0gM/QHghxkpO7axVWOS/t70V9elbITl8+7YEPNFXnrAJwia0hSBs grAJ3T6WsIk+YROETRA2QdgEYRPazAib6BM2kQUjbIKwiYxF2ITCJmyCsAnCJgibQD5hE39+bCKn 7/WPL8/P+Kafc+nJcHoyPGfOUmN+EU+G63CmEigiPi8mQ00Pwk8CnCiFjOoNzSGgEcy5Zjj3LDwh ozsYI+J9BBQJk9WhSPXyA1M7VTw9pj4wFBnDiYFyQ6Qwxvlw6KnxWh/jcM9D0FRtp76LmF8MTVWk 0rWbFTY2Q+b5DAbLABoC1/MhhknqU1mRq8PClyzczLiasz+/FatMQJXKIKBKLgQBVQRU6YwaBFT1 CagioIqAKgKqCKjSZkZAVZ+AqiwYAVUEVGUsAqoUNgFVBFQRUEVAFfIJqPrWgSqFy00BR9jPU1Wg FMjCuKXYVAnwpMMbFtqUlwIZyp8X2qkq129JF40JA30ZwoCxPsPBkfZurapY57nZncHwjksJ05YT hBGbhRxdiMZQgyRJflpk9dZ3hmtJBWWb/G+6rMT1WbZpjeVMnKENu+WRA5KC9AMb77YDsu+5c/jL svksziOl1XEiZk6nthngHXhFWZLZX2WQ2V8uBJn9yeyv2yKS2b9PZn8y+5PZn8z+ZPbXZkZm/z6Z /bNgZPYns3/GIrO/wiazP5n9yexPZn/kk9mfzP4S9zFmfzq/QudXvujzK8k7STEGkiVuGNbUnYX4 38oHDVaSdQU9L9/aK0uBU51ycKpWr2rAKZcjYZYfBLYVuXM2hpkUX9yJAtNxMWDomuFYTaj1uBMx z/cojshac2qG0ze3klRK4iiQUIIF2fcOwk24UnBUcBYygo4IOtIWgqAjgo50ZgaCjvoEHRF0RNAR QUcEHWkzI+ioT9BRFoygI4KOMhZBRwqboCOCjgg6IugI+QQdEXQkcTXQUZEPaZ+inQr7PQFLBCzl jGFqzC8WWFIOKg1mIwH9yH+gb5843uye3TkwYw1tmNvgPzwxE41BLZhPXMd7z2B64xjGOjPxdM2/ Zg4euhnMC8nBH77LgBFyNYZMnZAN7CjCYzmeSNH2QkwbeRGb2KYXsjtb5O75kS7BsXkLMXz+0o/j 2rwws1AUUCBPdwGe5AmUl43SPzHQJUKuvkhBIqjb1ot19j3KhWsaHApbWQYhq3WqpQhZo13NXa92 Y0f+NFJfJhLBSpLY3u5oQDZIxvZuSw+A8UjPf8UcT1YDlnF62RVzO9VGTgbdre7f/sYS3Zi9t+d3 fqBWYKe+/TEqwJPVVGAHr8FLKiCp7VkY0Hw6+XrEAypyJvat6aqBd9rPX/442UL5QUOqNssaAJk7 uYLfOUN7w/b82c04V4nN6NYIbSu+Q09NpvFRqsST1VWpuahKre1clVwffvC/cOqTw9ar2+UJ1RvV j3BSkt9TmJ2EnHnvPf8OpjxYFvi1hKwCs1tFOtyI77KZEM65tYPQdJllTs0BzG7xLBeUnYPkGbWL b3VV9irrrLKOf73Ev8xwUmEgpYphmBF07cEssg2jkj7kleb8xEI9XDSNDKRMC01CBy5VBqHmciEI NSfUXGdhJdS8T6g5oeaEmhNqTqi5NjNCzfuEmmfBCDUn1DxjEWqusAk1J9ScUHNCzZFPqDmh5hL3 0ah5NtfDzAEdwbi4PDw6fseCqWtoI0MwKIKScgoYaVeIbAuuSGMBXC+O2RnG/sUF7Nm7XQNLsrz1 Owuboq7JHzRyY9o4mQ1nk8mcg4mykbuhRfUSBJgX1w8mISKd0ExK1Fbro+AwPFkNDtN+JOzzbGfz 4qzLiqQ9m7cgTrMcBarV67pbNif2JLDGQQnIGsf69LdsNmrKLZtxKZ9yy2YctfyWzTirj37LZixL An1UBoE+ciEI9CHQR2cgINCnT6APgT4E+hDoQ6CPNjMCffoE+mTBCPQh0CdjEeijsAn0IdCHQB8C fZBPoA+BPhL3TwH60BlNOqP5BZ/RTFDJGJrJEi+5/DOFcD4UL/9UeE+4/DNGZbTnEoHXamgwM9M1 g0k5YvbIez6Xgy5FskXMT9BLMb/Otqb8Yqzarm1hI2NF4GO0AREjEzu6msRO66NUB5PVVKdRa36M 7Hiyuuyaj8vuDwK/7nCXVTu12kaj1mHcTLLLrr1kfgnnk4Hv7rJNz/fsezTdeZEBHTy0Iylms8Wu 47PAGwPXN4cTc4rH3jYGnv+vmWNHzJ9yIDLymT/AFmUTPP/mcLSda0mbIAMXm7+eQqzuMB4iUI5t frtrfK1rUVyEYKoMQjDlQhCCSQimztpFCGafEExCMAnBJASTEExtZoRg9gnBzIIRgkkIZsYiBFNh E4JJCCYhmIRgIp8QTEIwJe7Xg2AWUz49PL3svrkssW/sn+xfCi1zGexTxjhW9EDUiubuTfaXWQJO od1dGyIumQjCNNZ6XSwbh66nT1APf+X/vOi+0EfPH83L/iBIxn6IC7oqvtZRFuts5oXODZr78ULB teI9qZIsBr/bgb9QFDyEIonyOJ9PEKKUqRiWkcBoaKDoRsNQzz86MH49vDxnq99DkLWF96mqpyNr jVanFHdsFa4ThZJCOYyoGOz5wTKerAYse+bslj0LWK3v1hvF6x/hB0gvxFjJDY9rFRb5721vBeH8 1dD53fbh39VEdmtra4XrHOM/v5UIgGAugrm0hSCYi2AunUmEYK4+wVwEcxHMRTAXwVzazAjm6hPM lQUjmItgroxFMJfCJpiLYC6CuQjmQj7BXARzSdxvGuZaSaAICe9ybjzTFViX+AOxTx3v5i4+vxam GAK/9tHxpDjrbDCLSdIRQPV1ub+UHRMU/9fha6VW+A/sv1gOH3n4oBa3ypeddGo1a4WHy2Aw+1A7 8fbegtsma+3qR3iILU5Wg6O0a63yirRrnVxFjFdQjWKYj1Demu7lu2fPbuk7IKu79eofwX244MpA n99Kqk6IDyE+2kIQ4kOIj846QIhPnxAfQnwI8SHEhxAfbWaE+PQJ8cmCEeJDiE/GIsRHYRPiQ4gP IT6E+CCfEB9CfCTut4D4qAvF8WsYkAZd9yiZ7zidrnv8mq571GMyT4IAOUxTipw18oem7qyxGeTO TLVb1Y+CnWGyOuystaDEnbbuekboAjOYcCJ+xSQIkg9TZ2JvjvGaP/FLTWb7o8CXPFlNlTo7Enyp Kc528fBaUqPNaGL87nt2MfxnOFbW3K1l9x9W0jJW2NgMmefj8c4BNAdqZLD4xyWvCIzRtAzz5iZI 6qNCjL8Vq0fQosogaFEuBEGLBC3qzFAELfYJWiRokaBFghYJWtRmRtBin6DFLBhBiwQtZiyCFhU2 QYsELRK0SNAi8glaJGhR4n7b0KI6UF9BbymzEy0PReagxZQh8ILFx8YQV3QsCQeJre04bWmN7x8e CSN9RsRh56mIQ4ygLQQeCH/Iswl/eNhkS/gD4Q/6vSrhD33CHwh/IPyB8AfCH7SZEf7QJ/whC0b4 A+EPGYvwB4VN+APhD4Q/EP6AfMIfCH+QuIQ/ZAP1y8cfykzxT4IhSl4A2q7XNEdDot/5JOqEbGhb LkxCw2Kk5z8IwpPVHATh9LKzLduF0zii8Gqg1uOAGD8tplRytvHWXd8YDJybyLeUimy402gc2OaQ YZ1YMWtdpdqLKtUp3jIoHW25mUT+aFSM8TUcbhFlLx5vEfSFB1w6NQKY8gwCmORCEMBEAJPOGEEA U58AJgKYCGAigIkAJm1mBDD1CWDKghHARABTxiKASWETwEQAEwFMBDAhnwAmApgkLgFM2UB9GGAq 5nL1q35rINGXQKUU8OkPnnxJ7PKPBp0+HyDxuLMvCiBRhNx0uATBE3k2wRMPW3QJniB4Qr+VJXii T/AEwRMETxA8QfCENjOCJ/oET2TBCJ4geCJjETyhsAmeIHiC4AmCJ5BP8ATBExKX4IlsoH7F8ES5 lf5JKEXJ0Zid1o7+1ZTIdybmfenpGB7v+U/H8GQ1B0k4vewgyU6nXlaH2cI6YLyPUAdMVlcHpJfW YbulrYMZsZHj2hsTHzrVxLQCP2S4XgwC/73tyUnAovIxqiOSLVYH6Dtlvapeq+2UHO2BURFObQuf 4kmHiBKz0f4YleDJaipRazZK26Re32lq2mTmhXZke7dl3UpEe/4q8GQ1VeD0sio0qm3dybexzWa8 KTKc8c4P3qtxm488APd858lE1pq6cvrmVpLKcnEa5WfQ6s1mU99RUTyD2UgN3O58jIblyeoK3lnQ sM0d+UQgns5kuFgEgTmHv29mExt09chnN3Z0E/izqRq7VX9cTZ6xaXnWmtpyeknTlsZpSTPqjTM0 ctF28qcmQWv1LZOZMIdCeSdTmFkDNpg5brThqJPposfR6u2mnPBgDgW+M6ebYzYLzYHjOtG8GPzZ vQTqjW1IG7H3yHQTX4CsLLvszIdtrzXm6wc+djZ0AtuK/GC+IqkpWYSfdOh/7ACAkuKbE4a7D8cz I3u4WawjOQaoDHIMkAtBjgHkGKAzIpNjQJ8cA8gxgBwDyDGAHAO0mZFjQJ8cA7Jg5BhAjgEZixwD FDY5BpBjADkGkGMA8skxgBwDJC45BmQD9SM5BmjlWaa+ZHy9DsP50GeKQlVWfK6alJtWkP3qWl35 +Y7h/PqiB3UVuEl5D17mgtBo6PjJ5aAYSrLICRsacljphaKQvjPSRBZWtGJchMX1UWUTei5eNHSd QRxLIUO8JDE3tAVbKkds9uT0suTSUmhrElvZ45TZd0LQQ9Xe//33LKELrSu2wOfyndgTP5gX8pUL FjjezSLBJgZ8XbxFLZJZRNWYsPg/2JixmbUge4i7IFpiWFajzTwHYhai6RCtAkJV4q9QCujBkhfa nmU/Hs87VNE79fxui5A7Qu7y85xuBifkjpA7xQpByN2D3ZKQO8Ej5I6Qu3jXTMgdpxJyR8idJioh d4TcEXJHyF1OiyTkjpA7Qu6ySITcEXJHyB0hd8qSTMjdV43c/XGwBFeOLJXlE9mu5xJxnUFgBnMs bmQ6HpIt17few8od4VlFJXqn9rneuhNZaw6jdRpVubZ8AP1r5uRPh3aa+YovqGXzcSd6n7OWTf2p X04vOxdXVrfwT1C37Z2q5iTtcData47O7rQed4r5GSvHs9ZUjtNLzldmcWptGQNMwD/73onsIUPV gB9Jn4W5gAQWEliYFILAQgILdYYlAgv7BBYSWEhgIYGFBBZqMyOwsE9gYRaMwEICCzMWgYUKm8BC AgsJLCSwEPkEFhJYKHEJLMwGKoGFy4KFau/DPW+iM5axexo2DC+0HkKAHi/Z4b6mvQ6uL8QeohSg XPmQnWL6i/7gV0odWV7k5ol2EHjxiUTd3cu4kAmgh69iPGp27EzR4+WiMMZjDsyhMRpCzBs7Gkbm wLXxrmZInScUHyIsjVQT640Iqx56OzpAyR2+O+zmExjBWof1ZKu1dXaEoj86WJfCc1Vio7aWi8eS Wn6AfJUc86lzIAsTr/GkqotSqr98QpFfY5HX2Hd7cqkXZNIsLa7l+iFIu7r2srQe1XWoAea1WCTb +RSgQ56a3pzdgFbpDNjEH86gcRMgl/ENJu+ufjAxPYvfuXr4av/gKOm4+uLU1+Pmj5sJD3vyHopF 5PEXNlxbU8wjdxaOGazELPRBE7LmN3fQwS0fSjmcTabhgwUCyQgBsQ8fHlGYRj1fmDTFeqtVaBKJ 2S4w4xvLReIvk2Gvu838Qw7jbHdKHQt2Oq38jb7yKC2G/XQwrTvcZdVOrbbRqHUYtzDtsmtPzIxD Fs4nA9/dZZtqebNIzRa7ho6PlzdvDFzfHE7MKZ4O3Rh4PvRPO2L+VJz09Jk/QB8K6MDQHxzRXZGF Jz9d17aievp6rDuMZQ1F2OZIbwzxFiVFh0RVBuG+ciEI9yXcV2cjJNy3T7gv4b6E+xLuS7ivNjPC ffuE+2bBCPcl3DdjEe6rsAn3JdyXcF/CfZFPuC/hvhKXcN9soBLu+1XivsA4iBduBVqNfGZ6sAx5 vjXzZyG7NQPH9KJ1fEbUMkOb/eg6EyfCK0iTNzlDNYnNFY49HcESZt+bk6kLy8mbi41raJeao40e H8j0R0Nznh6cHepKl5bLUKEbDmhBlXrzMLInbGybQ3x802fpuAuj2SB91RUkMvan9ggUmzkb2XcI q0Q+v1p1XZSe3Y0daww19rjsXBx3/FCeNTZzOBei0Wxgu/5dXHN2AdM7ZC9VFUryowmaUYB3sCI6 aBgcozDE06ZYxuE6Cx28/1SkIUW2750wCpl9a3vM99gIVjU01Az5ud34acVQwvNjvDjJAinZla5p skjObuFN2GkhOTuGhPH3DNEzppf6+a0dBA5ER0D3dbfLuLXIM91Mrrxf3fqwdoFEOR4WCwtxNi7T gW2Zs9DmGtCEr+MTM4ImQBAuhijTtzcxExGdvygJXRObFEJCz43C7FXOLPs7f+YOQc9xYFE1p1M3 62eJsKypOwvxPyDaqAJ4oFO8kMWgb3ohgqsxH5msmx6uFq0aQqmgiVGfS95/DeO+5UTMwdGBJQ3j VkcpuXfmPOR4n+hxh2fnvV96UN4ews9ZKqjTmFY0M7ETo7I2jBNBmBpyhd4B3SSI+CFaTAh6Wywm 5iFM6fJY2AOhTUzXMUNJKOkVyWLoqOMNgewc3yiMSGvsv7fZxM71JJ2TSNy+Otk++Oa2AEz1EHWj tq17c1s4S4xBGOhycISz5dEBIvp496+rvCjagPQ/0/likXXxfLGg688XS3G2lzxevE0oM6HMukIQ ykwos84iSShzn1BmQpkJZSaUmVBmbWaEMvcJZc6CEcpMKHPGIpRZYRPKTCgzocyEMiOfUGZCmSUu oczZQCWU+UtGmXOxVAV50dHjRWeBl3+H8qFzySvPdzT5kYeSHzyOnB0XjU/wVtcTQEo6OLqWP1yc RcvOkx6f9fdP1vKHhxdmkByVLWTSXDoT6WDv8odMFcSqsVMK39VbnVL4DgHpgOPgKYSXno9W0uhs PwrAsyTcTgLqfvq+pTwsWmvu1tKTnTPvveffxQA112gqHP2srGQoKH8jVIrfkeLb91PbQmCusldZ Z5V1/Osl/mWGkwoePK0YhhnBZDyYRbZhVNjAHuF50wr0L8gDO3ecvFJrOkWqMgjfkwtB+B7hezpb EOF7fcL3CN8jfI/wPcL3tJkRvtcnfC8LRvge4XsZi/A9hU34HuF7hO8Rvod8wvcI35O4hO9lA5Xw va8W30uYXDeOgZhX169fC/V1MfqnRfBG/KhhHtN51IGylWWQp0a19G7TRrO1xKOpI1gIzHDuWWrU 7c/1YKrIWnNirFVd5sHURqupe3hzNPSnKO5AnFXlZ3Y18Z4PYlOS1dWmWS19PLTRajcW1qHwgmij XW1+rvbiWWtqyOklJ/xK49Sa5VJpt9u57mwYIy4R70YN+Ok7b4yIgjaVHm5lFRzOlV0FMa3XETEF JQzH3i4/O+tYThR3Sa6S4eHgLI2sihX29423SYSNJMSGFPMfK8lE8Z0kGrYKVXU8UF3Zb8veKSwJ 9ou4UFg0KUHBKoOgYLkQBAUTFKwzGxIU3CcomKBggoIJCiYoWJsZQcF9goKzYAQFExScsQgKVtgE BRMUTFAwQcHIJyiYoGCJS1BwNlAJCv6TQsG6Hq9TlpOkFeZDD9hmWDJCNvHBT8EYZQbFczReG28S FlMjGfZ9JEXMzmiuLLy2VI8YLYNAt3fqpQh0p16TILuxfyeuM8alBIXEb3GdTQZ2gKBXkjtM89NZ xAbzCHQm32MmrsS2OVFT3n5WuHZZ/K7W2cXLSWPsqoKGvQobmyFUnE1sXhN+iy2rGNBOd4ET2cY0 CiorDIOyH0ZTUF+4dF+yVbxKGPSr0XTjJyU022AqbWCGNuJ3i/4UTmY2H1tOzOUTFLS88ErbEtin MgjskwtBYB+BfTrDEIF9fQL7COwjsI/APgL7tJkR2NcnsC8LRmAfgX0Zi8A+hU1gH4F9BPYR2Id8 AvsI7JO4BPZlA5XAPgL7HgH2aVE+HTT3DEjMMgDeM0NpRRRHPePXkfFCXmip/FhsJfR2TXucE4+I mbDObW5urrPqmuZE5Haj9cUeAqztNhoZOLd/BT2n+/agwq+DFUdToYmdAIoiHhON39+M01wr4mtx 46ZiSZIEHWjzxTr73uRC+o7fELwkGJcrrOdHNhTZtMZyKZ2h7UXOyLH5udrAnvoB3gDre+4c/rJs rsXxSKlAnAjfLrXNIISKFVusCPstePaR4EGCB7WFIHiQ4EGdKYngwT7BgwQPEjxI8CDBg9rMCB7s EzyYBSN4kODBjEXwoMImeJDgQYIHCR5EPsGDBA9KXIIHs4FK8CDBg0V4MF1ukASiPb++uri+Ms6M V79cgYi1wNjDJwizP9p7acuChPNwCzEVXSiBTKp/BE7JwcgC798FCsPlc2aJix2Z+VIT4DEAVj72 f7D6CpDUbJeeSNypd3KXiN7YEV5mad7eFAN+OvxwyYs5pcJ+GRdzcjHRWT2VQWCcXAgC4wiM0xlu CIzrExhHYByBcQTGERinzYzAuD6BcVkwAuMIjMtYBMYpbALjCIwjMI7AOOQTGEdgnMQlMC4bqATG ERj30cE4YByIBDO8BsEX04MV0/OtmT8L2a0ZOKYXreP5LgsSZD+6zsSJIJmfkhcKQyn+5grHvY7w QNW9OZm6sOy9udi4hv5Tc8riRs7E9kdDc56ePRwWypWWyJDAJQ4oQjV68zCyJ2xsm0M7EJd3xjND GM0GbGJagR9CvYZs7E/tEaheczay7xD4ifxoPrXDdVFudjd2rDFU1OPycnFm4Ee5rLEpY3Bsde0l G9iufxdXmF3A6gN5SzWEYvxoguIWIF7JnBGUhkMohnjcEQs4XGeh41l2nIYU2b53wihk9q3t4eWi I1h00Y7Ebx61/MnUce0gVN73xMZNs0BKduNqmiySbZf3ComdFpKzs9c+/zLjr4Nq5H1+aweBA3FN bw5qR5dxS5ZnuplEeUdC6BW7E8fqYkkhBsilObAtUxwcjNiE6xgTMwLhI0AYA608IX/ETMxERB/M HDeCvoiNCSHxpB60bHAzm9iQTpb9nT9zh6CDObDgm9Opm/WtRFLW1J2F+B8QbVRPPNB3Xsgy0DS6 qP/VmI9Q1k2fKhXtGcZHIKH3JycJw7hLORF/RtHGYoZxe6OI3DtzHnIgUnS0w7Pz3i89KGzPB00x SwWVLdOKZib2XX4papxICOEgV+gX0EGCiJ8/xYSgn8UyYh7ipy6PhX0PGsR0HTOUJJL0x3jESGOM ffiQZxrqEHzEW7FxsxZE+vDpXw7gloHljZ0cWG67I2Ng3zg4kbENFz7VCO2P/AwpZMg0Z28T6Hpk RtAcCYAd9yD4F6N5fgRVgJG3Ioa5eGxTXEVsRvZws1gTwrVVBuHaciEI1yZcWzVaEa6d7Y0I1yZc m3BtwrUJ1y5mRrh2n3DtLBjh2oRrZyzCtRU24dqEaxOuTbg28gnXJlxb4hKunQ1UwrUJ1/4Uh0y/ MYwyw7sEnrYAe8sHXQJ66zTKobdOHnp7fzsx/KkdI2/wJYdvVqsfGXmDDJ+CvGG0RyFvoiaEvKkM Qt7kQhDyRsibzkpDyFufkDdC3gh5I+SNkDdtZoS89Ql5y4IR8kbIW8Yi5E1hE/JGyBshb4S8IZ+Q N0LeJC4hb9lAJeSNkDdC3p4deUvhrgeBt1zIB3G3ZrVWirs1q/Vq6f2wAnmbQd3UKM2P/NIk5vgU 7I3HeyT41tS+wUjgG4FvSSEIfCPwTWeoIfCtT+AbgW8EvhH4RuCbNjMC3/oEvmXBCHwj8C1jEfim sAl8I/CNwDcC35BP4BuBbxKXwLdsoBL4RuAbgW8f/2rOZ71zslltNcsBuHb5A40CgNM/2Nis7tQ/ LgwnlYNtnGzNwmDL9S3T3XKdwRPQOSm5R2J0WFHC6FQGYXRyIQijI4xOZ88hjK5PGB1hdITREUZH GJ02M8Lo+oTRZcEIoyOMLmMRRqewCaMjjI4wOsLokE8YHWF0EpcwumygEkZHGB1hdF8bRler1kox ulqtnb+cMozMSL6eEr/VOM3aR76gErN80hWVPOLjMDheG8LgVAZhcHIhCIMjDE5nryEMrk8YHGFw hMERBkcYnDYzwuD6hMFlwQiDIwwuYxEGp7AJgyMMjjA4wuCQTxgcYXASlzC4bKASBkcYHGFwz39J ZQZ7PXxNZT7sEhhcq1qOwbVbOQxuagcjnoc1nRlQU5A4x+ISuhp9p/px4bgkVx0ilysGx9GqOfpO VvO5HSrM+rZc9XAebsXg5uaYzUJz4LhONC/GeERtLamSUq2g+CvZJ6S7vVtv5YBFpTi77MwHnRs6 7shxobcGbOgEthX5wXwFOptnuTMYKD8qcX5aYWV/flsKm+SVJWxSZRA2KReCsEnCJnV2LMIm+4RN EjZJ2CRhk4RNajMjbLJP2GQWjLBJwiYzFmGTCpuwScImCZskbBL5hE0SNilxCZvMBiphk4RNPhc2 qXbm41eg9BylenMpcCkhMdHQ8RGD+ZBgganhKTZBIocpyA1CimEcJ0EH85GFEbIYFxEyfVQZgcjF i4auM4hjKWSIlyTmCnEwuRyx1ZjTy5JLS6GtSQxSxCmz74S0hypc8v33LKELpTUGMHL5TuyJH8wL +coFCxzvZpFgE/xDF29Ri2QGZTUm6E4PNmZspS7IHuIuiJbY5dVoM8+BmIVoJbBgAeMrQYYXwaOg N4S2Z9mPR0cPVSxUwUFrLcJBCQfVMAkHJRw0Z0YgHFTWbwkHJRxUYxclHLRgISAcVCkT4aCFWISD 5qMSDko4KOGghIPmtEjCQQkHJRw0i0Q4KOGghIMSDqosyYSDEg7a/3Zx0OeAnnDtVRJaOp1GtSql cze2o7GtPgQYsqFtubAaDYsRn/2gH6xybDTzLA43VfB0Z2VXAcDqnd0aZBxDX5WsoBUGS2VcUFAB nCCMmDjXyqIxVCJJdQ3BrlU8ErsmVfPliop5FTL0/MiGbE1rLOfjDG0vckYOiAyyCOypH0RA9j13 Dn9ZNm8YHimtlBPhQVjbDEIoWlGihKKpDELR5EIQikYoms7iQihan1A0QtEIRSMUjVA0bWaEovUJ RcuCEYpGKFrGIhRNYROKRigaoWiEoiGfUDRC0SQuoWjZQCUUjVC0z42iSQf/TtDo1Rdn5vBP7vyf hLHF/OQYGP/QHtJb0V8zCtl6UBAJPhLEYeFCUy3S9CE9NFjKzh8NXFnmDlOOH5XBfDvyO4Ke64RR 6RWePOzzIXtKspoLSDm97AJSfbm1Z+uWKrbubN0zFhC1t7iQyyfRxPcfVSg3CmYw3YuUPGPmwV+o lBWjfQYAtr5bq2cArFzUChubIfQ8NrEnAxskAUUGlQUrUFnBU6yrpmWYNzeBXKc15fDhb8UqEiKq MggRlQtBiCghojrrGSGifUJECRElRJQQUUJEtZkRItonRDQLRogoIaIZixBRhU2IKCGihIgSIop8 QkQJEZW4hIhmA5UQUUJEPwkiqjDP0P4WzxhLHDiM8akF+CZelepYCgrFYuSGv7xYBuR8UMDJhwHL z4hg7TwVwQqd3218CvMhIIvwrDyb8Kx480Z4Vr40hGcRnpU3ixCetSAc4VmavRfhWYRnJcUhPEti EZ7VJzwrlQPhWYRnpaOL8CxZHIRnEZ5FeBbhWYRnZXsThUh4FuFZhGc91IMJz/rq8KxFsM6TYK2S c3jN+vajIC8/Bbok7IttvHXXNwYD5ybyLQUK23Cn0TiwzSFDVIwVs9Ycb2u1Sm4AjZwJyGRozpnl +oOBHYTM9S3TRTobzEYjO1AT2t75XHXjWevqhvTNrSSV5eLs7JQ2X7uWv3VVkRMu6Izvo1no3Hgm 9BD1zF672fgYRyt5spqqtNvb5ccOO4UbZCf2JLDGQTHUp2tUd7jLqp1abaNR6zBuRtpl156YHYYs nE8GvgstmpQ0C95ssevQZtB32cYAz9JOzCm+frgx8Px/zRw7Yv5UvGHoM38Q4fww8QO8HhZqPuGq I75p6Lq2FWXHG91hPM4h821m3zsRn0xmGkkSrKsyCNaVC0GwLsG6OhMgwbp9gnUJ1iVYl2BdgnW1 mRGs2ydYNwtGsC7BuhmLYF2FTbAuwboE6xKsi3yCdQnWlbgE62YDlWBdgnU/L6ybai5iUbs4h86f 2+Q+MO5k1Z3bB389hy0o3qa6sgA1BsaBiB8jSAgHmR6s4Z5vzfxZyG7NwDG9aB3fDbSgiuxH15k4 EaTxU/IOYphE3lzhl8ce4Rt/9+Zk6sIq/OZi4xq6c83RRpTRwhTJHqolSstiJCgXB7ah6L15GNkT NrbNoc1LnooqjGYDNjGtwA+hOkM29qf2CHTAORvZd4hARX40n9rhuigxuxs71hjq53EZuThFcezS GpspDMhW116yge36d3E92QWsgZCxVDEow48mqI8BAvAIpBsGB3IM8Wwklm64zkIH72oVaUiR7Xsn jEJm39oe8z02gqUfrVlDhCMtfzJ1XDsIEymhoJIbdkUWSMmu+E2TRXJ8va7ETgvJ2dmtun+Z8Zt8 85I+v7WDwIGIpjcHzafLuDHNM91MlrznYH/D/sPhwlhMCENyOQ5syxQvUEZswtWciRmB2BGjjL0H eELod4CZiOiDmeNG0PmwGSEkPhgJbRrczCY2pJNlf+fP3CGogQ7oHOZ06s6lS5GHhYuIbdSQPFC5 XsgCyDe3qPzVmM8QrMtcZxCYwTxuyTB+SBO6e3K+Nox7khMxB/s/ljGMWxrl496Z85ADoaJ/HZ6d 937pQUl7PmiqWSqo7JlWNDOxy/JDt3EiIYSDXKFHQNcIIu6hgAlBD4sFxDzEb10eC3sdtIbpOmYo 3xEd98R4oCTjin34kOcY0pizxv57HJW5HqNzMIlbU5Xkw44inQXvsm53Gjl0/s4P+O/Je5xC5MCt 6vbjDlI/n+eFyLroeiDoes8LKU5HxssToBxhdmgS3s4CbVfDEa5OuHpSCMLVCVdXjWaEq2d7M8LV CVcnXJ1wdcLVi5kRrt4nXD0LRrg64eoZi3B1hU24OuHqhKsTro58wtUJV5e4hKtnA5VwdcLV/9S4 eq6epz+fo61ZLE2LMPcrRJoSvGYU+BN2Yc5cdnhzYwcRB/KufG/OTmzPdsLiCW8F29U+1JpRERtL D4PHUGg8TwqDMpIzXHjmOZCOBhdOXpbNpgI1Ij/f6xYjQm3f+sF7Zga4xsJMxUXmJEdPUdrTWWR7 t2wwZz4/ai2gLYYwWVZ5gUuLoCLl+BQ7VtCI4n+MiXn/spTneC/TQvVNdwba6J1dgbUUUWkoTGhH HEG9+hWa7tYJfI9jzNwFYuDaSVnixDlY/EP0u4ETrncT/v0foJQh+slAP+M80EVB2br6de/16VX1 hfj5v72rjZ0Xwu8Avw97V39rHB5c/a2+flqrop6wVa3u8v+vn9Y3G9I3rtT/ean06hgoSs/rr2bF WWNbrEj9e/UfXGkVQriMoVj0VBAwKgcTQxQGtMIt740MNCME7blowikmswFKKChOQ3ZjTmOU/xUM 0yG6LZjYsUFaE2jrqQ8J8P697w0D2wzZ/5o29PGcJAWELJI24qQNSDoDlBmW9ga6t8VWZ1MOpQ9A EWK1nZ3tjVp1o9pZS2BQjslzoFbkwZJ7DqIJ/D/uADy95Hw0lhLbV5xU36xBSWzLGTkW1wh5K130 rrYvDq7WT5vYQrylWkKf438cL4wQDgZZY+j9iQ1LsLnVNz3Ln4EUX6D4/CD1UolsS/S0weyG+3sk CUF2IXdqQd8CM2JD36tEsH+acklijHM3hEDovuCFXF+F7YAINTZveX2StNDfhf3uwxTijXzGaxjy koL2aA+TJmDxmGKrC+q5lootmmxGE2NuQ/feYzvbLyXiBMq1xxoKCS8B2GMtmQYKLMatK+Ecj29o JFJoW3mSEw5h2txjGzXFkSDuuKvfR5M19t0e9HY+3NficP9RZovYW+G9CAO9pJaEZ55/l3W3rM/8 4EZKdt+xVRdLkV39sPo9Rl1D94mkLG7Et5dAX6II+hLE2a2qZY2DZH++/z5Xm7T6q9mUCGspL+Jj Y0Kz/E3EXCurhxM490bbaBrYldXxmk4Jlg8rhJgGAsd22ZHp3Phe1gPzAzTfzdrLdbOqpptV/3g3 k/uX0hOk8kB/RnnKxYEylvY/9CnJWh839v/Udb1UGmn30EhHlooiDkUOsgDkmv9TpAhJw0expngV DPLUYZX0o3+n/UkZLprB8TINiSnyIaT0RdEd3Wjjp7Rie1I1y8PG0k+FsCBk3CqZjMrDCqHJIlyQ riOXwFlQAi5xSfwLJKCUdb6wrHdK2Dt92NXVOLTo3D/Ckv8/0JBsF378yGTeWj42/7OH7S+NjlwC EgumCjkJ9aYgxkdDSi0dH9jmRr3aqsYjRJlW0B3P8oMA11DTC+9gUUWbGAbfqNY3qjWWKEy46l6Y fCnnYyjx9mSgq/qobDDXBi0DmsL3hmE2H8081GZh7nJ9CIPDM84Hhnmr3mnUWvVq9fokXRRLR2yk Ga9YTpiPazvVanFaqyNHM7XVNFNb2ZBeMJmR5vMHNB/NBJnIs4t+iaLcwpkVXRjR+dJ2+I7G5Mrp LLB5oS3XB/nbnj+7GSdFBuFExX7NU7yzuWOyGYaziWi2oRNaoFyDjOeQSZLEcMY3MfounWgTkRjK 6VSujHZQYFb5cMYpIy4C9Mc60PYEMcJfMedvyFEUA50rKOPjJ5ZI1jnj8bEOXcKNzJdpQGc9WZLw K9ZDxGgEReYGNo6425Sq8P+yn1j0nPKnSQYifyfpOrlISbPq97vx/BNvMKCm76FjoUsuduebedI/ UtdfU3jzur6fbJMYe+1AZ4U9jDmKQIjtatJWL6GXxPFD149b3+NdIB1sIfb2OxgQY9iy4vxlevO7 zHOeiVu2XLbaO369f3J5uo42eePg6CRegE3XDCZstV0Vdntpm86kDTSK9ztVaJpF4X9Ku5H4swtC zsRcYz/+KO1SYyqMHLQFvjq+gn5WBxUaept+AYKgdexxa2svldLy2e9xpa1qC1vS1bRJ/b+HEvt/ kjSziYJ3dZysM0lvsZ2dzkvsVSbMdY6YjGEfDJ3Am/EXl+KG5aiPI1AfB7psuvWHT4H/4J9MIXPU Xb/zD1msybynBkjLyZL8xIAVg17ZTIiaoF4RD+zvoWVwZuGh/7YnAshZCrVP3fTk9iNxUh/S1S6J l2VSF5nktzHfKbskaXBrO5O675G3PTAYf4ARufakWNhDmwXtJ6lSvSjdf/J1XRJhMxHhP2Gw7KmF /7dSJCFNdRfxz0Kxs9ybLwvR0SMTDeJbMK5+FNsP+c8gsM33cqz/lDTJtii0aAa1RHEWJRLZVlVC UaXcbjKJKXWN9kspuNZkVIzUqMuRCsplMUK7qWz0BKNwXqFV3amXnVdo1VoNzS2S6S2IqDBNQxtv 1+P2Tj+YcKsbV8TUhDqPuyLxGc4yLP1wXGe31dplIHsPKrnLuF3XdJ3fhfrId/yOh0eXgMBnNuEs KI75/N32cLobouF3aI9MkOI/dE/GJX9AdqEdGVxeULkfEqQLOmAiypeL4i/681tR5JozHLXtWun1 kcBsaho8aWOh+aIWegsCGrLRUI1dr3/yu0KXbeVGa7chNzIoN47lRPEhPtHU0JulNECJt6MK+/vG 2yTwRsLdkGLx1j46MH49vDxf/R6irPH2+60oGE1bcHrJeZrSOM1qefs1mm1d+wmxoV4wMcP3/NBR yGIcPhOrmlLnk14RWshaU3NOL5FWFqe25OkjutWTTh9pC0Gnj+j0kepaSKePMg8WOn1Ep4/o9BGd PqLTR8XM6PRRn04fZcHo9BGdPspYdPpIYdPpIzp9RKeP6PQR8un0EZ0+krh0+igbqHT6iE4f0emj /OkjjJce2omBpMJJIvksj3y+CJISVH6FY87PK8Vn4e+XCcWewNKN52oSgE+C1fPY2mqtU99ZZxhw nWt73J2/eE9gq7HdXoDj7WwvgeOJIoTiosrY10ZNp9mofiIUrwjj8bw1MB6nl8B4pXGa9XJhNbVe CnlhzbyB61vvw9i9LEzcFN25klir2vlsEuN5a2rP6SUSK41Tkx68vJnBxgGFkxddq52/kDJ2q5L8 HThoileH4pG+Xv/4QEmhXa1/LpyYZ62pOqeXiCuL01gSJ24QTkw4sa4QhBMTTqwagQgnzvYahBMT Tkw4MeHEhBMXMyOcuE84cRaMcGLCiTMW4cQKm3BiwokJJyacGPmEExNOLHEJJ84GKuHEhBN/szjx gyp7KZCsAMOOn6DF2QWTEkqBHOmqyHm4xV9fzN0WmY8sLKfFuIgu6aPKsEkunnw5JtNi2tIriVI5 YlM3p5cll5ZCW5MYWYlTZt8JiQ9VjOf779On94SmHaMuuXwn9sQP5oV85YLhifhFgk1AG128RS2S WcHVmKDwPdiYsWm9IHuIuyDaI24o1d08syJO9UMHvphF/EVGD6/1zC5LERcCpJcAoZYDQ/sqvo90 79Z0X0h3F8h3VmVJXwVzfo0ptMutDZksm7om5bqa8qn5HvckAaaKaCneqWFH8vVFIocbuywH7j1R yKYhZSPfzsVJD7zQ2GrXGqU3HrQbugPwye2u/P1T/urrsBjrESC4JWHfEtj90/etRx1qb9d2a9Vd 4f6xyypxKSsMr5kVpYSdgxOEERMvlsZPfcZJruE59VWcXteSCspXD/ymy8rzIxsyNK2xnIkztL3I GTkgKUhf3JjKL0105/CXZfONFI+UVge6gzmd2maAtwkUZVk8yU3IOyHvyjys244Q8k7Iu6ZehLwT 8r44LCHvMZ+Qd0LeCXlP6YS8Z3EIeSfkPWYQ8t4n5L0gD0LeCXlPq0PIOyHvhLxLZELePULeCXlP ex8h74S8E/L+gZD3LxR5h6T4a51G+lxnnLhhWFN3FuJ/Kx80EGrWFfS8fGuvLIVZIypahll35EPc 2MVNy93E11XMgeM60bwY+vmwaiVZ3WHsTqP85H5ZyUE/DG3Psh9f8EO1mM9dRNyXpMV8RCLbnVwi MPwDM5hjUSPodvwZHMuFXWFkjBxXrXintv0pj9i7w11W7dRqG41ah3Er5S679pLpJZxPBr67yzaV 4mZxmq30Ya6Ngeubw4k5xfeiNgae/6+ZY0fMnybv5voDrDuDOQm9E/D5CL492YTau/jgQD31bXCH 8diAEmzzU/rx8fyioMh1QGWQ64BcCHIdINcBnc5KrgN9ch0g1wFyHSDXAXId0GZGrgN9ch3IgpHr ALkOZCxyHVDY5DpArgPkOkCuA8gn1wFyHZC45DqQDVRyHSDXAXIdWEplFxZEkAP2Qq3tcL+b2AAX XRsPvPNbOwicoc1Mbw6raZdxA41nuogQRT5/1jvymYl1gDACgtpc4YeNEdqyxmbABrZlikO1EZvw pXNiRtaY414xissT8kfMxExE9MHMcSPH4zdpQ0g8BhsyM7iZTWxIJ8v+zp+5Q1AtHFjHzOnUnWde ExoI2sZV14NlnC9VCazMiymDdGyVayM6rDsusSb0w8j0R0cnoVRMcw94ghCOzAiaLsEJY1gV/sVo nh+BPgi6ywreZ+644p1v1FEcz8Rj6AQfEnyY2ysTfJgvDcGHBB8qoif4cHE4gg81W12CDwk+TIpD 8KHEIviwT/BhKgeCDwk+TEcXwYeyOAg+JPiQ4EOCDwk+zPYmCpHgQ4IPCT58qAcTfEjwYV7RJvjw TwsfTp+IH04JQFQDEoCYi0MAYswiAJEAxEeMRQIQHwpHAKJms0sAIgGISXEIQJRYBCD2CUBM5UAA IgGI6egiAFEWBwGIBCASgEgAIgGI2d5EIRKASAAiAYgP9WACEAlAzCvaBCB+NgCx0Sq9GXenlr+8 dQR5FIN8cZer8mJ+GZeqcgERqKkyCNSUC0GgJoGautWUQM0+gZoEahKoSaAmgZrazAjU7BOomQUj UJNAzYxFoKbCJlCTQE0CNQnURD6BmgRqSlwCNbOBSqAmgZoEai6lsj8LqAmMAxELQSuOXHqgNni+ NfNnIbs1A8f0onUgMQukyn50nYkT4XufbGhbLqyEIY8ZI5xHoGnY9+Zk6sKq/+Zi4xqGT83Rxrqx o8iZ2P5oaGYA5VAqS1oKg+NpCQDbm4eRPWFj2xzaARY4bZQwmg3YxLQCP+QY6dif2iPQNudsZN9l +Gi4LsrK7saONYZqeVwuLk6GuD4K7JMXYXXtJRvYrn8XV49dwFILuUr1gQL8aIKWGuBjpvjEq2Fw vMhgTpi86rrOQgffwxRpSJHteyeMQmbf2h7zPTYCDQONZkPEO8WRRTsIJfw5BXBFFkjJ3kZNk0Vy 9pxtwk4LydnZ66V/mfGHUhUZf0sgd9LQouZXYz40WTc9TCraMITCQINyEHrmWaj3hXEHciLmYIfH AoZxG6Nw3DtzHnKkVXSrw7NzGJRQzJ4PqnCWCmqTphXNTOypqCYP40RCCAe54tuqkRlE+IMnBH0r lg7zECB2eSzsb9AUpuuYoSSL9GVhMT74WGIfPuTJRjLIrLH/3mYTO9dLFuD+kgAfxvs5Hq3H+9ug 1Ofwfpgjcoi/CPTFIf5xQb8IzF+IiDB/lUGYv1wIwvwJ89cpm4T59wnzJ8yfMH/C/Anz12ZGmH+f MP8sGGH+hPlnLML8FTZh/oT5E+ZPmD/yCfMnzF/iEuafDVTC/AnzJ8x/KZX9mTF/AVs9DfUXcZ8X 94/LkyH/Ma72ibH/uBjfEPqfk/O3hP9njb3ybXgAxBXW+QCk3eDxXgCKGB/0AxAYdZkfQK2Z8wOA lG83x8VAj/ADsCT4X8L7f/q+tZJ97tbrrV28Bly5VlzkvsvOfNiiQnPzCw6gVEMnsK3ID+YrIOZ0 oPHAP62wwp/flrmFXNSLwHuVQeC9XAgC7wm812mNBN73Cbwn8J7AewLvCbzXZkbgfZ/A+ywYgfcE 3mcsAu8VNoH3BN4TeE/gPfIJvCfwXuISeJ8NVALvCbwn8H4plf1ZwPsMaQrn4RbHtAWqq/ASFKqA LJVBbo380VtI4R7xwGKwT3f4tpA1x8WqRXpSq7mdOwnb7OSqhcdlC0eKMdRnqhVmrasV0stqVavK +Ojd2I7GdsAwB9fx3rPQufHMaBZwPNjyAwQp1fj1+keBTrd3a630qHLiVoFF5L2Ui7+SlLKSAKRh 6PxuG1FW/FWICZLl2PwP6+m/IhjoogVU9dgTiGzc+YdsFPgTppSsvVvdXdmahcFWHGhr5jlQw83x 7k6rvYtn0j0/sncZaGa3DrrACHcVAdX6I6ncCL0ykLcNBYm9ClBpT/iPKv1vxWYh5FdlEPIrF4KQ X0J+dSoHIb99Qn4J+SXkl5BfQn61mRHy2yfkNwtGyC8hvxmLkF+FTcgvIb+E/BLyi3xCfgn5lbiE /GYDlZBfQn4J+V1KZX8M8qt2ou7JO6yBrmvCJJSbonCuTmhLAMgJBobosfgDkbr8zK58UhEBKI4m jpgP66yDx4BleGxshuwu8GOcL8nmieie/ozpyjJHSmv1nVJ8u9aoLYJMx7AGu3jCN4C68uO2rhmO E/DUnatptWufCy7mWWvgYk7f3EpSWS5Op14OMdebO3ng3Lmpw9pTDPXF3cWdlPTLuIyby4hQXZVB qK5cCEJ1CdXVqROE6vYJ1SVUl1BdQnUJ1dVmRqhun1DdLBihuoTqZixCdRU2obqE6hKqS6gu8gnV JVRX4hKqmw1UQnUJ1SVUdymV/UtCdbM7vWP462mXeseRn/dW76RE2bXeCUT3ie/1TgryDV3snZf0 t3Szt9TcK9/G1d5JjXV3e2c94fGXe6uSfNgVg4PeJa4YjVYt51pw66OnicsnCsOM/IljGVExzvOd WFeS1bhGPHN28TF0hgfV447BKijnyq5ygL7R2G20U/cC+35qWxG0IPwAUYYYa2CP0C+hslaBTvje 9lZwZlpF5xkYaqurWkGuwYa3eBm5/npynWjIbYHcFrSFILcFclvQ6cvkttAntwVyWyC3BXJbILcF bWbkttAnt4UsGLktkNtCxiK3BYVNbgvktkBuC+S2gHxyWyC3BYlLbgvZQCW3BXJbILeFpVT2L8lt AcNnF5rjxdVuepv5ih6SXA7x+sD+i+UgyodhSw56lR2JbrQLd4nDOs8Pjgd5uLL9uAvFnw8/xJus Y/ywIhevwtAdgPtqDEGbcoIwYgLBj6HvON01FVGUk8jDiL/p8ha3aNumNZYzdIa2Fzkjxw4Qxw7s qR8gsOl77hz+smwuTR4prZ8TIfZvm0EIZSwKl5BJlUHIpFwIQiYJmdQtiYRM9gmZJGSSkElCJgmZ 1GZGyGSfkMksGCGThExmLEImFTYhk4RMEjJJyCTyCZkkZFLiEjKZDVRCJgmZJGRyKZX9T4RM5pAz hCMfiUW2O+VHKLfzrzWHvvXetb08Drn9uOealz02ua1/ivmZs1sW9mzW4L8/cmwyFd6io5K/lYiA QEgCIbWFIBCSQEjd6kcgZJ9ASAIhCYQkEJJASG1mBEL2CYTMghEISSBkxiIQUmETCEkgJIGQBEIi n0BIAiElLoGQ2UAlEJJASAIhl1LZvzAQEng/hvNwi99yzO8iDvGUHfNse2gPmWlZfsAvFo58xjd+ 62wwi/D+2BV+0SyPjAiXLW4y9pjT2G5vzLz3nn/nbeDdxINw2NysVfHeWREnWTPx9l17Y2gGd47X 2mzB5PavmcMP9EWb+ceE5TJyxigTWGJlRzpTYqQFQ5btJpHe9upX3Yvji3yUu7AeWVNnWrzueGWJ w6IKzve0A6II+5UdEG02m3lUVjxrrIZ65OvBS2KyzZJXfpvt7QUlLuLIUTCzxDu2myFsdSJnshnd Gl5oW8WYH6EWJchyc6Hct3c0bztraoJDBzoCv2Q6ZuOd5eE0V7lWrf35cWzo8/5kCsUeuDYvMt5I bXvMDNEZIR7wvCoVqF5SDzzpOwr8ScpRallR0e0wk8wei8KXS2LfXDyEfasMwr7lQhD2Tdi3Tuki 7LtP2Ddh34R9E/ZN2Lc2M8K++4R9Z8EI+ybsO2MR9q2wCfsm7Juwb8K+kU/YN2HfEpew72ygEvZN 2Ddh30up7J8B+9b1Y25SBenBMnZqXPUNGBdiDlsElMt/SmHp8kAcKNSEkWBsYdDNh1ABbYTaNMkk SLU+f32kHHjHETptCCw6/PVypRQGL8TLAX9xiIfg71a9UXomudVpLcaSB04QjZPKaEFlnsRnuDa5 uVurS9cmZ8VuNytsbKK/BZvYk4EdiBd8OeKqVKciThSblmHe3ASltVVPF/9WrDyhqiqDUFW5EISq EqqqW84JVe0TqkqoKqGqhKoSqqrNjFDVPqGqWTBCVQlVzViEqipsQlUJVSVUlVBV5BOqSqiqxCVU NRuohKoSqkqo6lIq+1eLqi6GUcvw0xU9BokBHEvBLGO8DPWM5eCzD488r/sZEcWdZ0EU47PLjwMW CV/MswlfjDfThC/mS0P4IuGLiugJX1wcjvBFzV6Y8EXCF5PiEL4osQhf7BO+mMqB8EXCF9PRRfii LA7CFwlfJHyR8EXCF7O9iUIkfJHwRcIXH+rBhC8SvphXtAlf/PA4MO1JMGPZucjt9pLnIovnIbc/ yz20f/A8JFZjwXnIB89BbtPtsgUG4ZRyIQinJJxSt0ASTtknnJJwSsIpCacknFKbGeGUfcIps2CE UxJOmbEIp1TYhFMSTkk4JeGUyCecknBKiUs4ZTZQCacknJJwyqVU9j8pTvmpjkI+EZv8fCDiHzgC KYGIC1DbZY8+EqRYZBCkKBeCIEWCFHVrGUGKfYIUCVIkSJEgRYIUtZkRpNgnSDELRpAiQYoZiyBF hU2QIkGKBCkSpIh8ghQJUpS4BClmA5UgRYIUCVJcSmUnSHHlGU4//gFksezU405nuVOP+ocgMfbX dvCx/MzjUs8/YpUJo1QZhFHKhSCMkjBK3eJIGGWfMErCKAmjJIySMEptZoRR9gmjzIIRRkkYZcYi jFJhE0ZJGCVhlIRRIp8wSsIoJS5hlNlAJYySMErCKJdS2f+8GOWnOfj4B+5l/Xw44tPPPj547PEx jz4SqlhkEKooF4JQRUIVdcsZoYp9QhUJVSRUkVBFQhW1mRGq2CdUMQtGqCKhihmLUEWFTagioYqE KhKqiHxCFQlVlLiEKmYDlVBFQhUJVVxKZSdU8VnOPv5BcLHk+GO71sodf7zzA/47jIam69x4m2M1 Qutj3NJab+zs1rZTJBKlwFAMQWDOWQUDGUN/NnDtCnNC5tk3IMdbW4UVrbEZMCno302frYqfa+y/ mbGPtYFEUxooyVX2P6zGdtlG7R8vNSDlb8WqE0apMgijlAtBGCVhlLrFkTDKPmGUhFESRkkYJWGU 2swIo+wTRpkFI4ySMMqMRRilwiaMkjBKwigJo0Q+YZSEUUpcwiizgUoYJWGUhFEupbL/GTDKFK9T IUqmhoHoKUQp/4EcrmDuYtEYQckYKps7tjsMmRmjh5h/iCYpUIVw9WP+aBTakT/azCUGf67GTsgs M7LGoHS+7nbZYHbDWvVqvVEM++M4iqa7W7gcbt54s00/uNmC4L87rmtuhWP/zoCvTevG+R9nuMfT +Cmpv1pPFA70KGvqzkL8r5hVZE+mrhmBLCzXDEMW/ZSgsXGdjbHtTu2A/VvgieZLFrHBS/afl/nM WNx+pr+K0PBaKgy2qib1I7J/WmeDtXwStsvH1rLJxgWVSgYBeOG0iXtDZ5Qj/mGItCw51/dueGL4 A1VlNbmMumyCsQj/bmpKVCymkmBJxxaxzJD5njuHvxj2A9DmJyG7G9ughULPc50B9FmPYcOV9LB8 h4LdjGixodzx2Pffo6JbqzbYj3syY60Qn334gJPg2XXXMMTv41enyu+Li/QLxpEufvW+BXmJrHrX sA+GrS7Sa42qoJ72uogW5zsJUzq/GRoo+6SDwWZHdLRYbqvba2m4bc2IKDSfGf690HnljNaz5Hi7 bheHa+FPaddJ+/uK3vViZRlPiXa7Ue4psZ33lLg1DQu2NkqoTvVZ3SOUZLnrQVWl15pZged2qDB3 qlWpxNDJI+jn3IrAO/nAZrMQui1IyQwGThSYwZzZ97ADCkPYiuXSQu+M568XT1ZTr516q7RenXqj pqkXdLDIdybmPfdgycXAtntE6f20zFI12MZbd31jMHBuIt9SarXhTqNxYJtDhhVkxayLNRT0za0k leXi7LTLpdKsaqUyn7iO956NYRPrwkoMrey43L0Hlr8xVCIIbCty52pSjc8mLp61puqcXiKuLI7c uVKHHPveiaCbc4UFXa5gdm6R/w757+gKQf475L+j2ziS/06f/HfIf4f8d8h/h/x3tJmR/06f/Hey YOS/Q/47GYv8dxQ2+e+Q/w7575D/DvLJf4f8dyQu+e9kA5X8d8h/h/x3llLZv3T/nXyL9rr7Z0c6 TpExmRswJY3w9WPmJb9WlnIJmnlOGA0X3kiAWlHs3LOX3Ccg/cErCb5LMMTVF+YL0H5SJA+JWy/W ik4FSYof9lhNm2SWYprYSE3ae19/IOV6IWV0p3mgxJDsQyVuFtKN/QVEkNTD5AFfgk6zWfrodKe5 XddgteIOCdu1LbxFAi86gI/RBkSMoM3soZJEq10rTb7TaeZcFTwUhxEVQz07pC+S1SC4z5zd0lfc t3fr2VPZ9v0UpGsPJT8HNrBBQjarrFVY5L+3PeVW+9XVWHRra9pb7Fnukgip+nRJBIHM2kIQyEwg s067IZC5TyAzgcwEMhPITCCzNjMCmfsEMmfBCGQmkDljEcissAlkJpCZQGYCmZFPIDOBzBKXQOZs oBLITCAzgcxLqewEMi97N/4jr8Uvw9s+sP9iOYz1YdyVA3Blh2S3q00N8Or6lulijY0AUdehbbmg cQyLMZ8fLeXJatBSTi+tRb3xcC0sfzIFdWng2uLoqxOFjO//WYiH7kF8tppo81mfIFeS1VWwteCE t3pyHbVp1xnw8+kxGI5krGpghHbE+6oSHQ+If57zyzxrTXV3mtsyXM/1gX/NnKSXpWh1naPVIzMy 3QSzHtm8sWB87bIzHzZq1piNHGhWEMvQwePbfjBfkcZcFuGnBZD1ZOq4XJ1mqC870CPs4aZa5k4n 1woLRN55XO95TpF39D2M00t62HZ1p5ar28yDetnebTHYZ6mWyLpYLUEvq1atmvf8SKq1upbMmThZ q5HqOx9h5ItkNRWoNSTHGFwOFGazpZnakkowf2DP42lMjbZT/VztxLPWVRPp+hsLSuPUcd7Tt21N d7vDjR0NIxOmeP5gSv7ei+ZnkklTV7lmmTS0oVulfbytvfrDjEpuuLDxvp90mnTU4fK4bv98fUY7 LnbKeosudGOnTD5N/d0oDwgI1xM5le3PNO1t6+Y8JGpFk4ZuLHnvhxKOXLLIJSspBLlkkUuWzhZA Lll9cskilyxyySKXLHLJ0mZGLll9csnKgpFLFrlkZSxyyVLY5JJFLlnkkkUuWcgnlyxyyZK45JKV DVRyySKXLHLJWkpl/wZdsor1X7ht4OYJbbdPpv1sCC/p7fWwP1fJpSLxGyAcjQyjjC7u7ECqdCFI NJluvVhn34eRcl9H7moRfJEl2w0uTtHF60oWpcivFMk9nPOUyz926qWviOS8MwwjtC3ggPKe9z15 3DsifxCBdYe7rNqp1TYatQ7jdqRddu2JjjLERyQGvrvLNvPFzaI1W+w6tFk0ttnGwPXN4cScooPS xsDz/zVz7Ij5U+Fs5DN/gC5cbIK3bjgePsHDdUh0PnLx8pPsug53GMsYCrHNAd0Yyc0Jiu7bUBkE 7sqFIHCXwF2dVkHgbp/AXQJ3CdwlcJfAXW1mBO72CdzNghG4S+BuxiJwV2ETuEvgLoG7BO4in8Bd AnclLoG72UAlcJfAXQJ3l1LZCdx9TnA3W1guTva7uOU464q6oRGSBynFf4FxkPQMBQFEOM/0QA3z fGvmz0J2awaO6UXrQGIW9FL2o+tMnAjvIkju1QjziWyucLD1CJQ4+96cTF1QqN5cbFzDzFRztAnc iBsI/NHQnKcY9VBfwrRsRh695FguVK03DyN7wsa2ObQDrFGWUjQbsIlpBX4I1RyysT+1R6Dez9nI vkNwMfL51SfrogbsbuxYY6i3x2Xo4urDj59aY7OA9bLVtZdsYLv+XVx/dgFqDj4DkVUYyvKjCTuE QDwIMYI0OFZniGtKsJTDdRY6nmXHaUiR7XsnjEJm39oeP+IL2h0aLIeIPYvrH+wgTKSHAnSw1dMs kMJS3D9NFsn40IbKTgvJ2TGAjr9nnkhTL/nzWzsIHEjA9Oag5HYZt5t6ppvJlvcwnFqwn3FYOBYX ws1crgPbMmf48gfsBSZco52YETQDYtHSlQfMHzETMxHRBzPHjaCTYrNCSI/fj2IGN7OJDelk2d/5 M3cIGr8D6qU5nbpZf0vEZU3dWYj/AdFGZdgD7fqFLIiy5hdCuBrziYJ100tORMuGUC5oZtzbJC9c hHEPcyLm4DjBsoZxy6Oc3DtzHnLsW/S7w7NzmCahxD0fJposFdTvTSuamdiVceMyjBMJIRzkiofD IzOI+BlyTAh6XCwo5iFe7/JY2AuhVUzXMUNJLEnPjAdQftyxDx+KIYo9xBr772GitHM9SudvErey XsIP3hhU9kxLYzvnrOFAJ49moLbkAn1xbhpZQb8EBw0UETloqAxy0JALQQ4a5KCh2xmQg0afHDTI QYMcNMhBgxw0tJmRg0afHDSyYOSgQQ4aGYscNBQ2OWiQgwY5aJCDBvLJQYMcNCQuOWhkA5UcNMhB gxw0llLZyUHjy3PQSLG/p7lmpNGf1ykjK1XmjpGhlJ/YESMrzDfkglGU9rfkfKE0+cq34XaR1Vnn cCH3h8e7WuTl+ZCTRWO77EaMne2O7GcRjc0IZhLPDvA9GvEuAZebZ9/hnDCOhzSPraazLb2YNPQ9 mduoVvH9HSuwTS5c8ZqAc7MZOyus/OUvsDXR/WF/+QsyL2eeJwatFG0zZpbHXLniXQkf67kzQ95B YTAO2WDOhGeBkl7iZ7AedzeIspKJAuJgd92fRT7GYvXN9g60/rF361viHR+YUSbYXVycMzHyCmPx Xk3A0PBnj2XExKFAIaJtrBCye356un920BPEv+blx1ZWIHvc/fWufvppZUVh7tZ22jVJ9qfmexsl sjgUjMmtpUNuhIG1ZGjfHb47tb3ZksGHvrXFW+oR4SdOuGxpMLjrhFMYaYH/yDiwUi0ZY3npuHeP kXs4XTao7UyWDOrBGAElYNmUvWjJgOZw4nhbM88ZmpH5qDjonjQxg2V7AAo7DjDOhazXdlq7MAnY 1ky0pD0V81s8cMMHwmPS9tSMxugb9Yg4mzfDgePB4pXG0c1a8WTWNWEuFroivitUNsfx2c20DOvW wMV8uKc3HsVBLGPg3ODKYnp7+FxNQk10IOPGmymMxCCwJ9kGBM/2bo1uF98g24P/VOKt6c7sByxH cgxudNIlJRgiuUpslJL5FxdZ1IqWE8fN8bQRdGFPDkoySBi6OMevdBGQqgn97vTn06NicEHWhOet bHCdoxhLZmrijv0wKosq8TQxQRuCbUVZXIWbi41al/GuB+PS9s5mk4EdnI/El9TR5ECXdujPAsvu QW/zbgqBgknPjg5g8sCtfZ5rGGLE4ZAxuAq3B1qOEkBxTc1xTcuyp1GzQHXvMXw+M9AeYcU3+Gtf eZ41msAsFZh3RQZIL5za9rDAgdTeG/HmTc8MS5j+dI5vSebpMNBvAlCRNfTpnYY+wvqHoaljuDmh jKzxxC/UYWR5kVsgDmGTCHNOUGCA5HQ0vUhx0+aMzOEwCPNlwTlXU+pw7lkF4gwl6BVT5/RCyoJq 5rvRjemgWYLvxPIp4UiALoaCN6DSHPfQhCmKFIlQO3T01YQf2rDv1NHTd+c0TG3zAx0He0m59CIG BmqzmvDowmze3hTDT82bsmJB9w9Ksp8WRA00XWcFesB34jrGLITMNYwQRlFJxqnJpMALTA+LlSOn O69ceaXXX/NRXP+mXqBB6sPmdoEcajq0q+2jE3sSWOMgT33vow1nmidPzKkxcu7toQG/psVZyDM9 n88xarypM7XreZofOvcGju2idKahjQ7qBbLwojdgtpqYYWHwoyz8QifHGPgWcRm9KKjAtm5HgSYl p9iPFq0H+kqEMJlFhSEaKkMxn07k8CdbNZF4fyl0yLCsd4fjWTT07wpzPUi0DjNSPmNvinUeFULD OCguaHwatQrzNyTLXyrWMSLfmZj3WsZMx5hPdC2pm6iVJ24LTH9mjXFJzNU3+j0sVit5tLRAFytB sfvc6hamW+3KNDZvbQMtr6hZzENsBtiPSXOYFGA6U7tYxjJdM5hoUx3hNiknHplbXFkz7k2+1gqr MG9nXP0UlvELM07GgpYHtcAuYRV6S447K+UuFm30e25Sz1iaxufM+734nwow/gsY90ZswQ33Kv9f pYL/CbKwSjoZPUmGW8cRpTZ6p/B/CGeM5WwyPrc3hWh6NN45aEeamBA0q4g+JM6GgSYcDNFbHTmY mlAH0D40pRjMIzu8g7m/GM/yRyMNGZ9q9bRpoYqNSoomEvQrfxppGLFWoeN4EUcMdDlNTMflim8x 2oRr38k/Gr498YO5NlHYgt8bYreuiYgCdEbG0NXFjZl6Dpe942m52HN1jGRB1LLmmuJN77SBceo2 BoH/HrZV+ShhNBz4vrY+wLK0VEff9MjxsZNqSga8kiEQ8p1cOUfb9jjkoaeXseLpS1cO4E5NGGNl UYN4g1nGF6t+KZcvnaVcbIcyHkfVSkYOBuBTbknk0jGCzJm203FOFOLUWMa+5TpGGffO1PPQjUlL V1fqmDrzoO9rOy0swK5GFLMyOcyiyVRHvzXdG+hHw+xHMVGxfBfpdwhLqYmC4rzYiobdHKf8iXUO y2/X9zybA0tSIhjk3SBELduRRiQn4/B51xubU/v/ZnYwP0ym/Hz0yQz/g+Rv7SDqIVxpBsMe75zF 0EOcfPhfXuSbao62O+L/DeybfGEyRUCrE2CQ97xPi79R3chxbyf8vyIHJ240q6azuMqeGOG/gihX CwxaEn5qB3yfn/2wpjNQBCNFL+Uh4zk1+deMcvqcFCg0LFiLi4XnXVMnEVhXBmLimlm4FgT2v/Bv A5c3KYtFwYzQNFzF/FUWGiZ0yH65lEeueRMuEW58xxN8sELQlfgWrSSgWNE8nHo8YeIoCcibCk2L MKqN6NYAfcwqLWYSeOAE0ViO8EDiSXj7UYHDqW09lEM0wf/fTCLQkhaH+d33JCH4g3/CON9LPhEt MA7xiPJeZWsWBltcxxa28MCeso3DihySB9SEU8L8enxhXFyevy4E/N1RAh6f9a7wRC76kO9tgX62 haY0dF3lwR08neW6G7gwydHw9AmP4inki59fx46nOUacDtSvLAu2YSm1nLzHrUsxOKcnAQP/xth/ +/OeZ969l2ndCxDlQyf+M6liFPwZGfuXe2ZQJF/un50cv9oDpRvGv8y24Of2TmbQTok7O3vZlQI5 pmy3Tmhc2dLHgCyT6VKSKnLQjCz+Une2oTmyYfYzhD8BN3ynOwdDDmebsFfjmhQaJtUcYqZqea54 PncK/dcMdgDDiho0248uDKZu3kuCjtGpJK3APU7ChtDMpBImQ9cYTgx1Z5kOvj3MZHOckEFx4csO DFgoAIz2KNybee89/86TgrgIWfCA4V4tT+fxu10pL4VTKCTXR0HD5VycDOWJmOujNvc1MvxZNJ3h tMn3Y3sVnbtiIh/U+AzjFWjuUmKcyA27/mwa7gnPUInFi8H/Uk1dnDkZ4BQI3abAAMEWqR6aaork KeaZJ8LmfAwKCkKI0g49YWE7FKNAp4NlsMiALbtz49nDxZW59V1YUlyePiwu/sSxCkn5I+0q5IRp 54lXgazIt6ANFswJaPXB5osRn1hbnCCr24UejM1re5YDGnqKpGL+ezAJNeKAYgzPplM/gA5gw1YA 9dUY3ZUSTKcXQ5gYudcDMizlOE+O55oeV1JSCo7TDAFLyTEIFvt9gajvUF1GUFpNUISDdvvnZKpy MCe+h7Gg0yRzUsZNTUcW4tcqE1SK4cBI/BSNsWEHgZerJWh3oe+ZrgO7X+h/s/tGXalAaEJZnd9t rknZYagwZyEH/o6Oz8/QYVbhYcMO/Rl0KNuMzQYK/75WM+LDEAYo3DiTGm21bBikjGXeNYZqejH2 dwNVhk9xqcyefMPMyo0r2tWc4DnpIbZ/3HswpYQ7mYFAcVbNiNyyhaenJHukxEkM4zE3jRY3/iie jXIMWM+EFc4dSgly1nA2rWsT43ifMcIAoyGuI2gbWhhGm0pixixUR4b3jN/twOdqbi66AoLpk5Dx HSzmYCDLuBhEQBvc6h3NAjufHEdnQNbcSRUGPnTm0DXDMQzpxMKtJh7DIRAlgn9Cwx6Yw1E+1Rw4 gqYk0AssfY3ygYXD33JhZx7XNuLAlZsZjCP0UYFoFTlerh/lUhUygEbjVddyxWrJ2ao8VFuwzLiF 1SUzlMscIVhtB0qMvPqC3pocIc+Tk0l98j7BuzTMGHHLonKrcWwpNtBJSubF9lGc1WB2w8HsQrmK IWQrE/4YWb6HNz3Zw6wYiX0iLgiojTAp3njGeFGQzGwnQmABM0tu5Ufxc3P8U0UOIEYo8vmvPDs1 6lZ+FD/zASQTbuXH5CMfSEBIPIj4WQiQFB8C8J+6AH7K9zVsYX/kfPhZDBCbITEA/iwEkI1/FfHE Hv/UBhSWvor8El8hUGzJEoGEmqoJlMqOh9IJL01Hl0ZqYKv8KH5KAaaBCWMeuqI7m3jSsMFzKkKb kXoLalIycBtT5wV1CacmyUinDXcb22XKmLjxTkwBhTA47AYzeYYUcJSYmGVyQcO8icSyKQx7Mk2d KmDC3EPHasEL+dohh0Z9AcI5ASz2QmUxU7Ob1tk4dtA75yr+w457wnNvv8uPrexV/vrv3pvDk5P/ MOXsZpB4vfK/N3CHawUwneK1dDEt9lXe4q5fG+bsHv1e+XRuWlwb26ht1pqVlf2Dg544xI1bWXF6 LPtlvNmriP6wOUZabz92vhNB8Gqe41fi4/Tg8OLVfvfnHh4NR0xMkIwjCHa4V/lL8n11eX0oIlzB lrvy17/+G/7dAI30P0gz8kkYycnmPoRdlb8PL1+d946vfllTgyXkvUqNM3i8Pga6uDjhV17hTW77 J/zGioO9ShU4UA4zwH/julnBDL6ur87RovFxGiF2ExfZCE/vj5aRWBBEVmi++WgZ4WYm6Vdvf4YN vnn3vrKCx7KPfz08PzIuri4Pjo+OjCvsABm5d/za2IeiHXeLnF8P87T4qGeOiJeBCdrJYa/Hb/q5 whveBA2bOr5jITmIDOHjrlnKF10Vei4/RPh2/wKHQwKZ4oDo7p+dnV8ZB9enF2jNAEL3YeNTaunB 4DAi8NDuXgV2i9yOgVtDYMQdMfFtjT1e+el+LHD35Pjw7OrysJd9vOU/T43zV/8LHXiyiaU5P8W7 kdB+hbwlLWOJj+xehTH4uvzl4uo8SeKX1xf7V28MyMu2xj4n4F15PE/4Mnpvj6+6b4zT/e6b47ND hSauzFNI76B9r3iog1fXPWlm4Z/JzMI/4hxglKNUDuIrbcQxCSRfQI32KpsgxZB/Zkkd9uLCH5x3 T497XeMtbB3h87D75tyA5vr/rPj3WUrlfeYBqyw/ah83gDh2D4P4AntjRjndPzs+OuyJ5E5hdjp+ cw596Pjg4PBMpfX3T8SseHh2jic85EAxJQtyDhPY0cn5WzlQSsuC4aVY2GHh57vDLr8pBL4SlB67 L9AP3/HSHR1f9q74XWqxoI/Oz66SwyWpLCVi0jhIEnHuR6CsYq87ujw8xAv45IgJKYn2GpORAojv lIt3W+0f7PeTfDbcBN1hnIsna6EuidoJNCw7DMXjo1/kVCVqmvYJ9psD/MaRkM0BeUY6+F/j6fgz vDAjuzlAWtW07GSRk5nZJFISWwqgix83qFLiAlNb6qz9S3KWAuhy7l0d7J8cvz4rjS8FKIt/+bqs 6ClXW3bg4on/BZFjdllsmDIWRBbcsrj8hsnSuIKbxRWXUIjRcCNMSTge4jPM+ycXb/Z755dXXOVI iDC1nsiErkiD33ul0s/Oz46BiwtieumhEuINnwJlwvnbM4WAR/gLhFws+Dw6UAjizhaFdH1R5+pV 9t3I8eXP+G4LOcbh9fGBuBpADpjeFiAHPSpUTNxEtX+Vo0Ft87R8hfnFA0riyZ0aKhFvFlDiJXcN KMGOTq5RTZWCHfVO8t8qAeYuNSu81k4hFLJOxF/Lk4qd5OjiGjSeHCWXIRDUDLlFVCUUysDP3yuB 8CI3NQje7KZSrnLNIe43U5PJi/7qMCcxJKjpwoA76+5fqfWMb/lSaG8vuXaRpZ6XPn6/2b/Mk94q /T+5BzBPA036+Cw/CJX74nLpins7cqGT+yZz5BOuPakksSLmEj05f318VggJNOMyR02uksyRe9ev YDXNEdPLKXK54dVafOOghD9J7xGOb71QYomr/ZQIKAi8F+bVoVJIvGtl/1UvTzo47iskmB9wd5dR Tvh8kKPk5j5UofLfavc8yXfpk16ut56WzM2nr2B8wCb69EJD7V1d5qlvCpTexVmOdHKYp5zp8zgr hrx4dflznqSPfFksS+8wH6hYuGKdrs5/NnK0q/O3XYVyeJrP7fD09PA0R7noXvySI4lSSu3wM8zE auMBCe9IUUlHx0fnRUo+4pnadTghH0bcwKKWQdB6asBesRS6YDi+5NTOYHWHJldFDwv+K7yVB/al MvkcL/Xr/mwUl2WVU+yn+Wkdv9WapqtcRrooLKIX/CZVhXJ8cagoBEhQAuSzlu/1VOhiNZIJ+dWv rHbxzZZKUPWCHJXVy0+7MUntx/n1E79zS4a4XydHUdbYi3glypK93D/u5Qh43WqRopbmcv9tcRjl RYbfuUZM7uiUC5Vde5qj6ic5ZODeX6Wdwr5TpeSlKihqN7s8RBtLvoynecLF6T4IWyahHpILVVBN YJ67vjyMLzRTGaJ/SHHjMApFtyJDB9qPbaQK8Wwfdx7wI9/hkXR53hW9TiLnx3hyu6dCK+vh+fUI tyC4ZSuZKBK2rnhX+WkWKGcF0qVmAUPqm0v4nSPmdP7kwmUdzchTUZ3Lk4rp5Vc6IOVXOiSJuVWh 5da09MrqPLFQ0yt1bUhvhFNb4bKw+olr/vLpX51f62jF9NBAnVus41txlYCClBOdeJii0HdQKq9P 8xRDmciuTi9wZ6kEuvqlOCem2l5Jx0v5mp53fZbXxARFrQXQINmLHK1XGNLXhQGV3vYrE/v7veIw 62s2tn3Nbqtfut3qJ/siiaSJXxq9GFs3HfRL54O3+5dnsrUrpnavzk9fKeHyq49x+O44FRD0lws1 FbRgdGUSfOOLGUXKSWJUKzOVAotfrobvzkjRU1qawNXPMh++ZE5sk8w8WyvsL0zj3QrU1aHDnX34 fTzpBUPSLaeIvqOD0EbsfLpWWYnvTUzNM7WEJMZw8llmgkn5Ys+RfqbGlYTCr6OL7SsKTTaQSLcf xoYPlagYLDRXJebpsUlAJcabdZUY77QVYrb5LZCl/W+eJ3avBWqyga0WGPF+NR8j27LmOdJGVGGl W8gCle8iFap0MWCOk2xM8sR0u5RR89q4EkWasBRipmKonDN9KvHimiema2mecaYNLpbPPDVZCPN0 aZ3L0X/WZSktY9Ktq9niodCVmTwj9zX1j98MkiiFIIktMvlqZF+ylTGhqTbG5GZ7ZeBk9kWJElsX M0piSYyv9S8MS82IFPZB+Uv+zA1K2VyWPQMgfebGq2QXS0mpVSyhFO1TCTmxTkmkYjfNDE4SJQZj qhmlOG4lQ5NEUs1MgpqYizKCbCxKqNkbTxktMQNJ38qEnOpP6ZcsXeUqY4ncU9ogPfzA0d7kkv1E MRXf8Qatln0LZTslJOYLiZCaF2KCMF2o32qUM7mqqdEiI5xnpgiF0pMD9fL55oNIhomElFgN5G+l l5/35O6Q2A8SbmwrqEqfElPYCbJP2UqgUsXElamfKTe1Z4tPySqguzRXZvTUzi7ZA1JSZlLm3/E2 PvsUm3j1W+6j2aY+o7zN95h0Ay8T1N6b27wntHiHnlGSvXdGSXfeKSnZZieEdJOdEtQddTUlq5O4 dmGTds4S6Q3kcHLInTiqGZUjkFdKQLxyPe8dIvMkXxCFnHqDJFR+m7iUtNqnEzBPpqiDNt0fZ4Rs dyzT4r2xRBKbVJmQmv8SSk8tjNh3Kt8nJznCdY6CFy3HvQvXogIvbQh8T03XKiIYFq2/ryadbkdT mrQZlQlyT8PbpV8dp5O0RJXnbomcIP7S3CE9QqgSkyf81OzEC305Wn6VSDbC6Te6JfTPT/avUKNX +1oSJtnQypR8fbMta0bRvRkg8XOdUNq6JiRp45qSChpQ/ERiniAlA8MBX16py2J8Bxp0H5fU+Jvf q59FibeI8Al64OtD+O+4K2/RZGqyVTs+655cH+DzguhUIjtDqzxjv2dwh5P48ZNjtCHmg8NUwJPZ RGeVmAD6AzqDbHj+Rjh1HR5OnGHch4EH0kX/Qoh1uY/pieOLdmRlwcTI+Ou/4+//sI0JazebWQCx ti8+DJmFxr0o9E45xYzZ614eY3fQ8q4u462siL4ap2+E4zW2gT5iGPaqUQeF451xgi+QXuGvRMeG z3aT8w7/T/QszkkvET65aEOlfr581TwRvk/wsxX/jG8ohD208qwxMoquWnmaccU9m9LInj+0XSu0 rUgOm/l15Wmw2vAVCjjHr14fHyW/zq6vTmQLQUZLOpeg4Cc0skK5ytEuTuNfb0AJPT+IP465vs5/ /u/F4ev45/mr/03inV8dqQVAgpT7xVkSCV9rPOnHH9w7acI2XDy/j/9MZvg3/uydwl/4Dg9812rS Y9EbbhCFyMMAjuV7t0ykBVvts+t3cq6pxx/+Ng6Fq1/6HZtv0m90e0w/klYs5hYHwEdouvsXGMKa BSGe8gD61fFR0izvYD66xu7J750dOsHaFp5Ivds0Y/ZJXRUZp0ilf3d6jamDTMTnBS/Ou+lEfPb4 ZyImQbu6bGuIxvnVG+4guypSXRMyFp8QZS1uABFcDX21FocTU8MaD/NrXEJ8uCD5qTyRkRAPkw1k /Bl7SiXf0sZPEE55/4YuIT5jdZO7sInWV+iZGirI4j0COf+3OHMLj8UTWLu54en87AQ0Edfj8wTv /2nvvpI69Wmtc2YcnciGu5SUNFK2oUHfXTG9IS22s8HHz4lz5S7/OL40LnQzJD+czTamlZWSKV7a zMvnTcpCS+6LZUHEMyJvlPMpZWGzfap8WKUstKyiqCdXymIkYJB6jKU0dOzytqh2iXPaA2FivVU+ G7Mo9Hka2H8oLPa+N+qpmfLQ4jly9QhNaWhFg8ufp1kYiz/OnD9csyhGohOqJ20WxkgbXj12UxYn zeHB1DM1Uj6Qw0MvGBv5gVDa6xd08Qf684LOm/VU7AdmcKOw1A66oDeWdr0F/WxBp1qiBz3QXR7o Gw92hJJWL2li4YIcwxhnPfVXN/284vMs/oh1NYRZUAmGSZkvaeKdAORc7Hd/3kfDPj+WkX7jc0qX hxccxsiIYkueCynEG5OTpw0y9tX+pTba9eWJnDTuDfk+UkoA3z0/xH3b1blYNi7233XF+iTdEsIt aBfn+C5Q5jYLlMt9WBEh0Mn16VlPosQKaHJU5i/iCBt/GEXcoGUkx1wuLg/lNF0zjPDEKfriXqBO fhm/yrRXMQyFwPl4eOHyvGeIlxf5hgnWQhA8dsZsJU0WcHwF8+j47LAn76B7F4fC9yk98GL0ro94 lpWVS6lsQeolHN8zUhEXjcB3/MqQcAjmiWWkUl/gNEjq/5ZSUjcehZJ4UyTEzP03pUiQZEpLjO4S QQmguONmxEIZMjN6Ssmcb1VSvqSS+21KKkbVFF7ykk1Jks9rSkv9ARXKeY50la+kZLZPaalXq0LJ JaX4tWaPTEmOrQlRclKVSJmXqkxU3VRljoQDqBzJUVWipi6pMk3yNJXIiqupRJfs/TLjNHXZSEiS j2dCOil26dSTQCbkmiMF+fTUXNlPCm2e2f8TymlxQErOjikpc9OSSIm7Y0r6Od+rJa/FjJS4KGaU zLif0VKrYkKSjPep290l7MUPuz9Lga5zXVPjX5iy8mNE8iCUSflKSR6DKamQVub6l1EKJbiQnLhS msain/F6hb6v+vml1MyLLyVljhMJKfPbyyiSm15KzFdFseBLxEJXUtzsMmLqZ5eRCvVSPO1S4mm+ MTQSlPzgUlLqWJNSzjTt0dPR8iNGKH+8jfDNvF4uNDK5pLXczC0toyl+aTI5c0yTqPm1SXFNyxON Ajl1TpNpmjRT9zSJJrmZydRiya9yI1xC4PPUn4tFTNB3laqY82WWZL1PaIlVvHyekJ3DUpriHZZQ JRcvlZSTY+YGIBOLHU916Uqoqk9XStVpK32dFtDX0bR9vK/LSPKySknZbNHry6oi/0wMLvFj5lwv hvofwUJ3KegFN6mClxSCWOL8NvwW3i/c9hKO4VtCLiRlUxyglgnpUb29SnJ5CJ6glE0S6aG6+CPd 5mU7PPwNqjP/cf0KrUJYML49MdA/gP11NQysxGSYvs206XgqR3kaTOUWngJT2cWnv4p85amvIrv4 tJc+jPyUlxqivPTqU135ektPc+VY8lNcKqvw9FaOHZUw9E9r6cIUntKCQNC+6VZ54VZHIAMG39GJ CWAXidzELDY7eD8wP3oM252HEoS5KX4WHHv/W242Nu8qK9cKLHKdw0WuFWDkuhQZuT4TGasz6vUZ WndFWWcgbdO5x6Km7qw6LK2MaYBaYODDuPjNz/hh4IsDPDoqHwuP387lpS/upfswU58exwesbycb /FpmLNPbRmZnx9/x5hl/Xh72YvnDt+ohGgOD0mzwVix6UpDjA1DURXp3zvDGFtmJKxEMkO0rLI64 wqFaYPSujFTvF6xk284TxBPiIabIRmjPgR05cybmjZ1kER+nF+i9VMp3MDNhpU6PuczedWGnxH8c ybZt/Epk8u41qDmxUN4d45HdU/nmkpSUhkekIz7HPoE5B0vEn9riTEHH7gslvh95If4TG5zgVzAc cMIk5UT4tlvIE0H9UBZwTEgzNpJujuamvQp/815c9RjhVZMQxJwgGnvIbX/JSWSJlp4/RtrIhDnd nna70kFtlZ6cz0ZqjLmm4GtMhUkhCeHaJr+gcuhHe5VNQUPMb7pXMdB+g9//mvmRnUSIzEC50wXf Lh2xDfbir3+FT5hrXohwM68Q8h7CATOwxgJsQugUfuGFBfD1n3iy/+u/46v2/gM/EwdffgXPfyor sBjGETGWgRO3c/8fXCORF03MKWdz1+G4zlvvarUtwQshEH8rr6K/5jtmi/fMsMLi05rO0hgJzQd+ MeKt7Q19yB+SrazwixDFxauVraF9u4UX9yHZ8z3HMt3yUii1XhRsOg/wyd+9Sjf5yVa7a6xerTXZ UWDbrOePIkRw2JE/84Y8vXV27FnQ0rhYxLLEn4HvR9gKghF/ITORcTiGdIDrW5pYfCX9679ztkVM 7NZJgvOIQLIjOQV9y3NQHwP6y4bNuoNU6MrKDT7yG3c1dCXnF6HydJATX4Qjgs1CG8JxMr9FK1aV YdP16uTwwKg27KppmsOmNdjescxOq9NuNQbDRrtjti1r0JEG5BMiJ6O2GLXeru40a1bVbg2tdse2 duztzrA2GjTqNatRrQ4W5vtg5PJ8IeaOvdNpdEZQ2uGg0baanZG5M9wZVev29raVzVVPiJvOaZq4 23Ub4rerTcsyTas9sBtAadp2w2zapr0434fiLsjX3Olst7dbVXtnZ8e02y1zu9E2IaWavW237GFt Ub4Pxl2Q78ButhqWbbVs2xq1Oo2aWe80R/Wh3YG/QHQL2/fByOXtO/TFCxGLkk/ClKdiz0Dr5K8H LpKPFGqBJNT7PBeVSw1ZXrr0wuRFhcsCLSgb3ls+Me8XlioJU14e5c2xhWmpIRekiLcRLkwIAyyK jxe/uovkkwRZIB3xiNMSycwWp4MP1z3YKdNAUq1SpwiGV9aCjpbeggSqKEdR4d/4+lv8KW6WhV/Z Uw/iA1HV5EcNfvEFA/6Nn77CX/EDe/wnBwd9htfYmtHGNECoh+WuXUUKv9gUfiQ3q8JPpYXxWzzk hr9ElvHFp6hkYg2vcnV0pUq6SS1dqZpuVk9Xqaib1tTNquomdXWzyrpSbd20uq5aX7dYYTetsStV 2c3X2c0q7ca1drNqu7zeeDNdmDWvRLrSEN8eX51xX57jM0PsVpNjjrAb61VW+BMvpfpU9hIupsm/ VNWPk/KaHycqit84mrh5pSdWRnM6VaqWYyvq1Crhr5M5Dz7rxX6JzyNalzKNXFGsOVKZ6eg6Pn7z MOlDBhz4RRPIg6obBhJBce5MlbSE8J/dv/47jN+/SWkQnr+cqBOX4MQh5GTLixA6kb2BQXcLoVJW nGCiO8oteIvXSuKb3prSABl46DZlTNFXLXauWquseKFhTqfJZib5Vj4CO1S+4z0bfMCuwnof7ys4 AS8SNrKbhLn4feiBUpeTN0SVlelwlO+fieqs9Cqo1sC/R6aPliMjCkwvHPnBRDz8UgnX7+F/wA/z yYUlG7WQ79T4VmKoE6flw/gRNiu+Hc23vtgy8p6FucxD3Crl0uD7AfllahRT3N6S6eUeX6AwZ26U vF0h0ueS4gXkG8f/Ptn676ut/z777+5/93bzPHcBr5SRJFieXEliMRmtjvqSpZxCuVJOCfmkJAu3 hC6IFf19uOmNuEfQRVk4G4SRE81w61l+J258Ky7e7miMAvMGGp9PakjYnLwXc4TCQQLn5NKLc+D9 wh6Fm2NNnjyvrR+kQOyHrZW/CBsik51q2As+FbwoMOMdbik/NvWxF3F/K4YQ7jlxAqw0WOrvw14U mdeXJxpyoVDlheldHXRjj5seq6Xk/OkKHUv4XhU4sbtXkS58vfL008PT88tfysJrss483TRZc+wi T08suBIdbWtXh2colJ5hyAzuvH9+fdk9lKkH+5d4C2pXw0IP9SJVHGFLgWvQRc6ujruyiKEHnR0c nmrinuCttsIRTFMGtCfHxtjjs/MDOWbiwQ/iYS9ARXlRbDT0bMf89E16HQPnBebF2wONXK9OL0q6 BjeJL985NC2UPx5UKFHinaWtx1mRnjhganv5sa7S8bGbZbvZgo4pOTMuP5Ku9aVCwEWh8mCg+L5J q1KoOj/DjRkdvz4BSbOqhm8sCoGst/vHmlKeQTsfH5XSD060QxuhoOOjy8P/w78Nbjp/MNSrSzw/ dnBw+WDIpQPhSbmTw7N8WI4qpW532nmxL2CbQt0k36jCTHe6f1HSi5VpIZ4y9o8KKby7PO0dXuF5 hFf7vSK31708PDxLRni8vOgDnV3jaevzI/FVCFSrXbYLROO4tq0Parw7PtUw8NhGQbT8cIeOChNy IQ0l2XeX9o2D7+WA5HHj4kUO6I9d0PMHJujDoO+12bsL3/EgSL7ovUL53gi3a01J5KD8lnGccfHg yJGmsZPzsBrW5XUP1+Iiw+heX/K5CHcDusgniCA1twv9jk8hj+hxPfTf6+6faEvHO7AmRgnjzfXV wfnbQvtDSjiQ8ICJZsQJ7xhNJsf8GEyRcXZwVUjn8rDbP7o8L7Qg3jgArVIi/YvDw0sta/84dQXS REMfSA2Ze14W54Gzri7nt9C2eTrUTEvnzpj68Fp69wi9MC733xYZINYe1PqgwDm/+AUbojjLva4X ZM193QrU42JBDP66whUqJGeI7MLyV+w1wp+2UGdxA0RhLpTuApCXN1jvdN3rkvuhFPO8+hUEUQyc nKbXNW7qJ1sof3KVSIGBXs0FYuLFXBQD9xgukvUdKHWiLbRYT5PKhX5ayPlMFiuAV2mUiUkzlIWz mpZxrWMIF7Rin0vdcgslir3AtGrQmdoGWTLd/e6bQrMdo/IRu2UUsjm/LJSqryO+BRruWBYydbzE xaxQ9/0zcQFCF7R2TR/FS1bReURmGMrTf9JnGmL/9AIfOzlDz0vYuuSmvC6+swL63ZV4AKbYSX4p ajcFuaEDMaTRx4OuL1IgW9pDCoc3hu5ACQ12/WgctsPQDqWk8FYnqaDTu42fpnfGjW35YRpGHKfC TSEkzCpbWaLHvbgYyFk1LGNN0lORKccU/FXxz96emuyaHG3/TI6QT4dxehZBnBp5aB1PHqvhp3tV 4Q3DqbRjv/rFOL7CC+exeUB3YdZLNvIDtmqxPVZ9yb6z2Etm/e1va0oUvkuLvRYZ9AhrOmer02jO 7XLrcUbTyHqx9lKJd/Vw3Cia4w+2OhquSbHFUg6K7/G+ga29371STQaoloK8XuPOtMeq9/Wq+JMG eN3Flf9/Yc+Io6fQ72Km0lles60fJMMMrmSXx6/fXLEXj/Z3yEQuNlDc5MFeCJ+fccYVqIE4wXQd N8sLPWCgj4R3GKBZgb3Y2IiNqhqbqnRfHX8fmX9t3G/ED1HuuTPLGbJK7FUUPxLDut29xc+75Hb8 75KnbtQhaKQ+STk6903SaPISCc0d4oCERLw8PDHyNB43eS5DTy+aAXT3aUihoOMc4KUjr3GZ3S9M Z92dnfgulUIl4gv4+FZXuz1Oj3nrN89Xl/iIjzTdGMlpTHGwjOG7apqI4kodKc1kAtfN5dnmU1P3 LM34njrtLn7/ZP+yqKjGt+MUhhz6AOutHvqcr37VqdR6qnrPXDlXpz0ol8iVrb1cMSgzGyDz1bW8 BqfHnqBu4vXkJXqkcmGAntkrMGPIkZ+F43uN/UKL4PG6YgyduikOA0P4owM0Bb8uKIXq5ZCaRDUs TgARnl9fXVxfGWfiYRqme5Q61zmPX4G6caTTQ8/QbqSM9DOx1FycQ0dWNnsLx46sAHNr1q/nsCW7 9Z1hvmbJhWePVH2FtUucBtLZufa7GpsVEN9hqYvdDaYNZUqJ/X1L+iU39eGJWKiZcdU3oI93NW3G L44t0vPkyRy9KkaIyjMv+aWp7QK1W9xHUezEyYScH4LZscWzrqgNGsoKY1R2DQZm6tFo7zL73olA 7v8/Gn1YiADWCwA= --Boundary_(ID_TgS4bo1+z8r3xCakukZPZg) Content-Type: application/octet-stream; name="anonymized-fcntl.h.gz" Content-transfer-encoding: base64 Content-disposition: attachment; filename=anonymized-fcntl.h.gz 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 AA== --Boundary_(ID_TgS4bo1+z8r3xCakukZPZg) Content-Type: application/octet-stream; name="anonymized-shellout.txt.gz" Content-transfer-encoding: base64 Content-disposition: attachment; filename=anonymized-shellout.txt.gz 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 3u6LEwQA --Boundary_(ID_TgS4bo1+z8r3xCakukZPZg) Content-Type: application/octet-stream; name="anonymized-temacs-trussout.txt.gz" Content-transfer-encoding: base64 Content-disposition: attachment; filename=anonymized-temacs-trussout.txt.gz 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 N1uBVL//PzcfTfdCogAA --Boundary_(ID_TgS4bo1+z8r3xCakukZPZg)-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 13 10:03:49 2014 Received: (at 17598) by debbugs.gnu.org; 13 Jun 2014 14:03:49 +0000 Received: from localhost ([127.0.0.1]:46740 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WvS56-0002gX-VR for submit@debbugs.gnu.org; Fri, 13 Jun 2014 10:03:49 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:57113) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WvS53-0002gB-Nk for 17598@debbugs.gnu.org; Fri, 13 Jun 2014 10:03:46 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 51CC5A60004; Fri, 13 Jun 2014 07:03:39 -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 p2BaDS2HWVB1; Fri, 13 Jun 2014 07:03:30 -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 68EC2A60003; Fri, 13 Jun 2014 07:03:30 -0700 (PDT) Message-ID: <539B04AE.2080107@cs.ucla.edu> Date: Fri, 13 Jun 2014 07:03:26 -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: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@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: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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: >> >Which GCC compiler are you using? I am using 4.8.1, and it works for >> >me; see attached files. > 4.8.2, boostratpped on a AIX 6.1 Host I'm afraid that does not work. If you are using GCC on AIX 7.1, your GCC must be built on AIX 7.1. A GCC bootstrapped on AIX 6.1 will run on AIX 7.1 but will generate incorrect code sometimes. That appears to be what's happening in your case, as the truss output contains lines like this: 18809032: 42074209: 0.2175: faccessat(-3041965, "<>/src/emacs/emacs-gcc-crashtest/emacs-24.3.91/src/lib-src", 0, 4) Err#22 EINVAL which means Emacs thinks AT_FDCWD equals -3041965, but this is wrong for AIX 7.1: /usr/include/fcntl.h #defines AT_FDCWD to be -2. Apparently your GCC is incorrectly using fixincluded files from AIX 6.1 (which do not define AT_FDCWD) and Emacs is therefore incorrectly falling back on gnulib's definition of AT_FDCWD. Bad fixincluded files would explain a lot of problems, including the subshell problem you reported earlier, as well as the Xpm problems. Possibly we were too hasty in suppressing Emacs's use of Xpm on AIX? From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 13 11:56:58 2014 Received: (at 17598) by debbugs.gnu.org; 13 Jun 2014 15:56:58 +0000 Received: from localhost ([127.0.0.1]:46841 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WvTqb-0006Kt-Up for submit@debbugs.gnu.org; Fri, 13 Jun 2014 11:56:58 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:8726 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WvTqY-0006KT-0n for 17598@debbugs.gnu.org; Fri, 13 Jun 2014 11:56:55 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1602029; Fri, 13 Jun 2014 17:56:44 +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 <0N74002NT6YKVO@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Fri, 13 Jun 2014 17:56:44 +0200 (MEST) Date: Fri, 13 Jun 2014 17:56:42 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <539B04AE.2080107@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 13/06/2014 17:56:43, Serialize complete at 13/06/2014 17:56:43 X-KeepSent: 0B5C183B:7ACA6984-C1257CF6:0056EE6C; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> <539B04AE.2080107@cs.ucla.edu> Content-Type: multipart/alternative; boundary="Boundary_(ID_q3Y6rCbSQ198xdJL/IDGmw)" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Dmitry Antipov , Glenn Morris 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_q3Y6rCbSQ198xdJL/IDGmw) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > >> >Which GCC compiler are you using? I am using 4.8.1, and it works for > >> >me; see attached files. > > 4.8.2, boostratpped on a AIX 6.1 Host > > I'm afraid that does not work. If you are using GCC on AIX 7.1, your > GCC must be built on AIX 7.1. A GCC bootstrapped on AIX 6.1 will run on > AIX 7.1 but will generate incorrect code sometimes. That appears to be > what's happening in your case, as the truss output contains lines like this: > > 18809032: 42074209: 0.2175: faccessat(-3041965, > "<>/src/emacs/emacs-gcc-crashtest/emacs-24.3.91/src/lib-src", > 0, 4) Err#22 EINVAL > > which means Emacs thinks AT_FDCWD equals -3041965, but this is wrong for > AIX 7.1: /usr/include/fcntl.h #defines AT_FDCWD to be -2. Apparently > your GCC is incorrectly using fixincluded files from AIX 6.1 (which do > not define AT_FDCWD) and Emacs is therefore incorrectly falling back on > gnulib's definition of AT_FDCWD. > > Bad fixincluded files would explain a lot of problems, including the > subshell problem you reported earlier, as well as the Xpm problems. I should be now able to bootstrap a new instance of GCC for aix7.1 since my colleague which administrate this machine have found some time to reinstall from scratch a working version of AIX xlc compiler. Will try this next week. > Possibly we were too hasty in suppressing Emacs's use of Xpm on AIX? Maybe. I'll also try do make a test build adding "-with-xpm" to "configure" when the new version of the GCC compiler will be set up, and keep you informed of the results. Regards, and have a nice week-end, -- Gilles . 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_q3Y6rCbSQ198xdJL/IDGmw) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT
> >> >Which GCC compiler are you using?  I am using 4.8.1, and it works for
> >> >me; see attached files.
> > 4.8.2, boostratpped on a AIX 6.1 Host
>
> I'm afraid that does not work.  If you are using GCC on AIX 7.1, your
> GCC must be built on AIX 7.1.  A GCC bootstrapped on AIX 6.1 will run on
> AIX 7.1 but will generate incorrect code sometimes.  That appears to be
> what's happening in your case, as the truss output contains lines like this:
>
> 18809032: 42074209: 0.2175:        faccessat(-3041965,
> "<<HOMEDIR>>/src/emacs/emacs-gcc-crashtest/emacs-24.3.91/src/lib-src",
> 0, 4) Err#22 EINVAL
>
> which means Emacs thinks AT_FDCWD equals -3041965, but this is wrong for
> AIX 7.1: /usr/include/fcntl.h #defines AT_FDCWD to be -2.  Apparently
> your GCC is incorrectly using fixincluded files from AIX 6.1 (which do
> not define AT_FDCWD) and Emacs is therefore incorrectly falling back on
> gnulib's definition of AT_FDCWD.
>
> Bad fixincluded files would explain a lot of problems, including the
> subshell problem you reported earlier, as well as the Xpm problems.


I should be now able to bootstrap a new instance of GCC for aix7.1 since my colleague which administrate this machine have found some time to reinstall from scratch a working version of AIX xlc compiler.
Will try this next week.

> Possibly we were too hasty in suppressing Emacs's use of Xpm on AIX?

Maybe.
I'll also try do make a test build adding "-with-xpm" to "configure" when the new version of the GCC compiler will be set up, and keep you informed of the results.

Regards, and have a nice week-end,
--
Gilles
. 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_q3Y6rCbSQ198xdJL/IDGmw)-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 16 05:51:31 2014 Received: (at 17598) by debbugs.gnu.org; 16 Jun 2014 09:51:31 +0000 Received: from localhost ([127.0.0.1]:48732 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WwTZa-0004TM-K3 for submit@debbugs.gnu.org; Mon, 16 Jun 2014 05:51:30 -0400 Received: from forward6l.mail.yandex.net ([84.201.143.139]:57941) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WwTZX-0004T7-AR for 17598@debbugs.gnu.org; Mon, 16 Jun 2014 05:51:28 -0400 Received: from smtp4h.mail.yandex.net (smtp4h.mail.yandex.net [84.201.186.21]) by forward6l.mail.yandex.net (Yandex) with ESMTP id 66EEC14E60FA; Mon, 16 Jun 2014 13:51:20 +0400 (MSK) Received: from smtp4h.mail.yandex.net (localhost [127.0.0.1]) by smtp4h.mail.yandex.net (Yandex) with ESMTP id CC1592C40C1; Mon, 16 Jun 2014 13:51:19 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp4h.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id thzMzT6oxm-pJCOWIEE; Mon, 16 Jun 2014 13:51:19 +0400 (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) X-Yandex-Uniq: d843c427-c518-4596-a851-d39b3270f0c0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1402912279; bh=m7X+uJu5U9arGrYoAW8ZXcC4t6vylSpJhtRqq5Ymcgw=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=FImG3RVxEfllfBV+Jz+wgXwnwJUWwawIaCKkHP/0SPpu6PhXTU2G6ae+h+1L+3NGE ywAKeNPHBLmejZL1RCt7nIx8BtNPj9wKc9WDU6xOG3Q41jR2/89j1/yZCQkb6SE8QZ uFAYQ7DODt8VAggzSn6pJJn46Vh9NuN/4QHkx//w= Authentication-Results: smtp4h.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <539EBE17.2050705@yandex.ru> Date: Mon, 16 Jun 2014 13:51:19 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Gilles PION , Paul Eggert Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <538840C9.7050202@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> <539B04AE.2080107@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@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.0 (/) On 06/13/2014 07:56 PM, Gilles PION wrote: > > I'm afraid that does not work. If you are using GCC on AIX 7.1, your > > GCC must be built on AIX 7.1. A GCC bootstrapped on AIX 6.1 will run on > > AIX 7.1 but will generate incorrect code sometimes. That appears to be > > what's happening in your case, as the truss output contains lines like this: BTW, this GCC seems to be compiled on AIX 7.1: http://www.oss4aix.org/download/RPMS/gcc/gcc-4.8.2-1.aix7.1.ppc.rpm Dmitry From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 16 08:45:06 2014 Received: (at 17598) by debbugs.gnu.org; 16 Jun 2014 12:45:06 +0000 Received: from localhost ([127.0.0.1]:48830 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WwWHZ-0001bd-DX for submit@debbugs.gnu.org; Mon, 16 Jun 2014 08:45:06 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:27610 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WwWHS-0001an-U4 for 17598@debbugs.gnu.org; Mon, 16 Jun 2014 08:45:00 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1639757; Mon, 16 Jun 2014 14:44:48 +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 <0N79007TLI2OA6@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Mon, 16 Jun 2014 14:44:48 +0200 (MEST) Date: Mon, 16 Jun 2014 14:44:46 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <539EBE17.2050705@yandex.ru> To: Dmitry Antipov 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 16/06/2014 14:44:48, Serialize complete at 16/06/2014 14:44:48 X-KeepSent: 7B48A6D4:0C5B2BA9-C1257CF9:00455FE1; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> <539B04AE.2080107@cs.ucla.edu> <"OF0B5C183B.7ACA6984-ONC1257CF6.0056EE6C-C1257CF6. <539EBE17.2050705"@yandex.ru> Content-Type: multipart/alternative; boundary="Boundary_(ID_Kcl5povVzzK5sLpDEI1s1Q)" X-Spam-Score: -1.0 (-) X-Debbugs-Envelope-To: 17598 Cc: 17598@debbugs.gnu.org, Paul Eggert 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: -1.0 (-) Message en plusieurs parties au format MIME --Boundary_(ID_Kcl5povVzzK5sLpDEI1s1Q) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > > BTW, this GCC seems to be compiled on AIX 7.1: > > http://www.oss4aix.org/download/RPMS/gcc/gcc-4.8.2-1.aix7.1.ppc.rpm Thanks, this helped since I had issues bootstraping my own gcc build with xlc I've now recompiled emacs (tarkit from latest url given by Paul: http://cs.ucla.edu/~eggert/emacs-24.3.91.tar.gz) with this gcc and it *works*!!! After that, also tried with "--with-xpm", but getting SIGSEV in that case. Maybe I'll try to compile my own libXpm from sources and link emacs with it. -- Gilles . 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_Kcl5povVzzK5sLpDEI1s1Q) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT
>
> BTW, this GCC seems to be compiled on AIX 7.1:
>
>
http://www.oss4aix.org/download/RPMS/gcc/gcc-4.8.2-1.aix7.1.ppc.rpm

Thanks, this helped since I had issues bootstraping my own gcc build with xlc

I've now recompiled emacs (tarkit from latest url given by Paul:
http://cs.ucla.edu/~eggert/emacs-24.3.91.tar.gz) with this gcc and it *works*!!!

After that, also tried with "--with-xpm", but getting SIGSEV in that case.

Maybe I'll try to compile my own libXpm from sources and link emacs with it.


--
Gilles
. 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_Kcl5povVzzK5sLpDEI1s1Q)-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 16 09:26:51 2014 Received: (at 17598) by debbugs.gnu.org; 16 Jun 2014 13:26:51 +0000 Received: from localhost ([127.0.0.1]:48847 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WwWvz-0002aq-4K for submit@debbugs.gnu.org; Mon, 16 Jun 2014 09:26:51 -0400 Received: from forward1l.mail.yandex.net ([84.201.143.144]:58610) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WwWvw-0002aa-Ec for 17598@debbugs.gnu.org; Mon, 16 Jun 2014 09:26:49 -0400 Received: from smtp1h.mail.yandex.net (smtp1h.mail.yandex.net [84.201.187.144]) by forward1l.mail.yandex.net (Yandex) with ESMTP id 20D7C15217E7; Mon, 16 Jun 2014 17:26:42 +0400 (MSK) Received: from smtp1h.mail.yandex.net (localhost [127.0.0.1]) by smtp1h.mail.yandex.net (Yandex) with ESMTP id ABED81340F2D; Mon, 16 Jun 2014 17:26:41 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp1h.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id CLH6gm8q6i-QfCOeNnG; Mon, 16 Jun 2014 17:26:41 +0400 (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) X-Yandex-Uniq: 5304e450-7c14-43b6-8fcb-f54875b810db DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1402925201; bh=bROJaxkTTxyumNdc5FqTOHZ3b3iXwDuJkPfY6gNl59s=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=BRrZ4aVZdqT8XmgM1ORakoPY+BaAUyste7qWJiOXIysG/MzQwsFCH5JcjD2mh4N+F 3R1zo/1j1ZEab2KTu+lNBekjc7p9T70I8RIKVQIOG4W/tERklR+HiDJE3R/vWDRW2m hW39H+g+qCEQBiR3zr6t5d0t4NgeWGtkro5YqoVE= Authentication-Results: smtp1h.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <539EF091.60004@yandex.ru> Date: Mon, 16 Jun 2014 17:26:41 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize References: <538386BB.8090501@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> <539B04AE.2080107@cs.ucla.edu> <"OF0B5C183B.7ACA6984-ONC1257CF6.0056EE6C-C1257CF6. <539EBE17.2050705"@yandex.ru> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17598 Cc: 17598@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.0 (/) On 06/16/2014 04:44 PM, Gilles PION wrote: > Maybe I'll try to compile my own libXpm from sources and link emacs with it. Try libXpm from here first: http://www.oss4aix.org/download/RPMS/libXpm/libXpm-3.5.10-2.aix6.1.ppc.rpm http://www.oss4aix.org/download/RPMS/libXpm/libXpm-devel-3.5.10-2.aix6.1.ppc.rpm BTW, linking 3rd-party libXpm with vendor's X libraries may be problematic. Anyway, it's worth trying. Dmitry From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 16 10:52:45 2014 Received: (at 17598) by debbugs.gnu.org; 16 Jun 2014 14:52:45 +0000 Received: from localhost ([127.0.0.1]:49410 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WwYH6-0004oI-DV for submit@debbugs.gnu.org; Mon, 16 Jun 2014 10:52:44 -0400 Received: from mx1.lfdj.com ([81.80.56.141]:28469 helo=lfdj.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WwYH1-0004nn-Q2 for 17598@debbugs.gnu.org; Mon, 16 Jun 2014 10:52:41 -0400 Received: from ([164.7.161.10]) by as1.lfdj.com with ESMTP id BDDQLG1.1644041; Mon, 16 Jun 2014 16:51:29 +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 <0N7900IZ5NXP71@mail.net.fdj.fr> for 17598@debbugs.gnu.org; Mon, 16 Jun 2014 16:51:29 +0200 (MEST) Date: Mon, 16 Jun 2014 16:51:25 +0200 From: Gilles PION Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize In-reply-to: <539EF091.60004@yandex.ru> To: Dmitry Antipov 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 16/06/2014 16:51:28, Serialize complete at 16/06/2014 16:51:28 X-KeepSent: 97B78AFB:E77C8DD4-C1257CF9:0051152A; type=4; name=$KeepSent References: <538386BB.8090501@cs.ucla.edu> <5388605E.1080407@yandex.ru> <6r4378d9n.fsf@fencepost.gnu.org> <"OF415D45B9 <538D737C.7060308"@cs.ucla.edu> <"OFC1052026.4DB5CC <53936EC9.2030305"@cs.ucla.edu> <539B04AE.2080107@cs.ucla.edu> <"OF0B5C183B.7ACA6984-ONC1257CF6.0056EE6C-C1257CF6. <539EBE17.2050705"@yandex.ru> <539EF091.60004@yandex.ru> Content-Type: multipart/alternative; boundary="Boundary_(ID_mlQvijpKEHXsv4hDcmGkZA)" X-Spam-Score: -1.0 (-) X-Debbugs-Envelope-To: 17598 Cc: 17598@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: -1.0 (-) Message en plusieurs parties au format MIME --Boundary_(ID_mlQvijpKEHXsv4hDcmGkZA) Content-Type: text/plain; charset="UTF-8" Content-transfer-encoding: 7BIT > Try libXpm from here first: > > http://www.oss4aix.org/download/RPMS/libXpm/libXpm-3.5.10-2.aix6.1.ppc.rpm > http://www.oss4aix.org/download/RPMS/libXpm/libXpm-devel-3.5. > 10-2.aix6.1.ppc.rpm Seem to be working when liked against this package: no crashes encountered so far. > > BTW, linking 3rd-party libXpm with vendor's X libraries may be problematic. Youre probably right, That's why I think I'll better stick using "--without-xpm": not sure adding those kind dependencies just for having a colored icon is worthwhile. -- Gilles . 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_mlQvijpKEHXsv4hDcmGkZA) Content-Type: text/html; charset="UTF-8" Content-transfer-encoding: 7BIT

> Try libXpm from here first:
>
>
http://www.oss4aix.org/download/RPMS/libXpm/libXpm-3.5.10-2.aix6.1.ppc.rpm
>
http://www.oss4aix.org/download/RPMS/libXpm/libXpm-devel-3.5.
> 10-2.aix6.1.ppc.rpm


Seem to be working when liked against this package: no crashes encountered so far.

>
> BTW, linking 3rd-party libXpm with vendor's X libraries may be problematic.

Youre probably right,

That's why I think I'll better stick using "--without-xpm": not sure adding those kind dependencies just for having a colored icon is worthwhile.


--
Gilles
. 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_mlQvijpKEHXsv4hDcmGkZA)-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 20 00:19:09 2014 Received: (at 17598-done) by debbugs.gnu.org; 20 Jun 2014 04:19:09 +0000 Received: from localhost ([127.0.0.1]:53616 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WxqI9-0005bW-Di for submit@debbugs.gnu.org; Fri, 20 Jun 2014 00:19:09 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:40037) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WxqI7-0005b0-9X for 17598-done@debbugs.gnu.org; Fri, 20 Jun 2014 00:19:08 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 55F6EA60005 for <17598-done@debbugs.gnu.org>; Thu, 19 Jun 2014 21:19:01 -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 srfaT-it3Knq for <17598-done@debbugs.gnu.org>; Thu, 19 Jun 2014 21:18:52 -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 9ED14A60003 for <17598-done@debbugs.gnu.org>; Thu, 19 Jun 2014 21:18:52 -0700 (PDT) Message-ID: <53A3B628.6080000@cs.ucla.edu> Date: Thu, 19 Jun 2014 21:18:48 -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.6.0 MIME-Version: 1.0 To: 17598-done@debbugs.gnu.org Subject: Re: Emacs pretest 24.3.91 - AIX - SIGSEV when customize Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 17598-done 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: -2.3 (--) As the issues in this bug report seem to be resolved, I'm closing it. If further AIX-related issues come up we can open a new bug report. From unknown Wed Jun 18 00:26:39 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, 18 Jul 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