From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Gilles Pion Newsgroups: gmane.emacs.bugs Subject: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize Date: Mon, 26 May 2014 08:52:30 +0200 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=047d7bdc17a41573d304fa4807ba X-Trace: ger.gmane.org 1401114306 2163 80.91.229.3 (26 May 2014 14:25:06 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 26 May 2014 14:25:06 +0000 (UTC) To: 17598@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon May 26 16:22:06 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Wovmr-0003z4-1y for geb-bug-gnu-emacs@m.gmane.org; Mon, 26 May 2014 16:22:03 +0200 Original-Received: from localhost ([::1]:56947 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wovmq-0008Ta-FP for geb-bug-gnu-emacs@m.gmane.org; Mon, 26 May 2014 10:22:00 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41270) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WoonO-00044T-B4 for bug-gnu-emacs@gnu.org; Mon, 26 May 2014 02:54:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WoonM-0008FH-Hj for bug-gnu-emacs@gnu.org; Mon, 26 May 2014 02:54:06 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33108) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WoonM-0008F7-3X for bug-gnu-emacs@gnu.org; Mon, 26 May 2014 02:54:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WoonK-0004ub-Um for bug-gnu-emacs@gnu.org; Mon, 26 May 2014 02:54:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Gilles Pion Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 26 May 2014 06:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 17598 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.140108718818780 (code B ref -1); Mon, 26 May 2014 06:54:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 26 May 2014 06:53:08 +0000 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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) Original-Received: by 10.224.130.7 with HTTP; Sun, 25 May 2014 23:52:30 -0700 (PDT) X-Google-Sender-Auth: XlZ5Lm_utFvR0iiHs_H2MBZkeDM 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-Mailman-Approved-At: Mon, 26 May 2014 10:21:44 -0400 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:89498 Archived-At: --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--