From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Leif Walsh Newsgroups: gmane.emacs.bugs Subject: bug#12703: segfault in 0x0000000100087491 in char_table_ref () at chartab.c:233 (emacs-24.2.50.1, osx-10.8.2) Date: Mon, 22 Oct 2012 11:13:35 -0400 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=047d7b111a274e139404cca74df5 X-Trace: ger.gmane.org 1350921520 4796 80.91.229.3 (22 Oct 2012 15:58:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Oct 2012 15:58:40 +0000 (UTC) To: 12703@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Oct 22 17:55:48 2012 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 1TQKLs-0006wo-2K for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Oct 2012 17:55:42 +0200 Original-Received: from localhost ([::1]:33279 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQKLk-0004nU-Jn for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Oct 2012 11:55:32 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:35650) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQKLY-0004m1-M5 for bug-gnu-emacs@gnu.org; Mon, 22 Oct 2012 11:55:25 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TQKLV-0002mi-I6 for bug-gnu-emacs@gnu.org; Mon, 22 Oct 2012 11:55:20 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:45801) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQKLU-0002mI-Nt for bug-gnu-emacs@gnu.org; Mon, 22 Oct 2012 11:55:17 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1TQKND-0004s2-1D for bug-gnu-emacs@gnu.org; Mon, 22 Oct 2012 11:57:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Leif Walsh Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 22 Oct 2012 15:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 12703 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.135092139118645 (code B ref -1); Mon, 22 Oct 2012 15:57:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 22 Oct 2012 15:56:31 +0000 Original-Received: from localhost ([127.0.0.1]:56050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQKMf-0004qe-Lw for submit@debbugs.gnu.org; Mon, 22 Oct 2012 11:56:30 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:54506) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQJje-0003T8-Tr for submit@debbugs.gnu.org; Mon, 22 Oct 2012 11:16:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TQJhk-0004Os-E3 for submit@debbugs.gnu.org; Mon, 22 Oct 2012 11:14:18 -0400 Original-Received: from lists.gnu.org ([208.118.235.17]:36451) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQJhk-0004Ok-52 for submit@debbugs.gnu.org; Mon, 22 Oct 2012 11:14:12 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:48225) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQJhe-0000g0-8M for bug-gnu-emacs@gnu.org; Mon, 22 Oct 2012 11:14:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TQJhW-0004I4-VY for bug-gnu-emacs@gnu.org; Mon, 22 Oct 2012 11:14:06 -0400 Original-Received: from mail-pa0-f41.google.com ([209.85.220.41]:46343) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQJhU-0004CU-UJ for bug-gnu-emacs@gnu.org; Mon, 22 Oct 2012 11:13:58 -0400 Original-Received: by mail-pa0-f41.google.com with SMTP id fa10so2143944pad.0 for ; Mon, 22 Oct 2012 08:13:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=iEf1jD26YV9YxDM8NJOL3z+Q2fOvwQMYPf6Gs0Z7b6g=; b=ATEvmqKJhOcN5VSU4HtXBui7enwB+9HTXk1yxbpnXHmw1nSN1kghckxsqBv0n5T0Ld TWPE6XR1hOVMsS4BiMHzRIEWleyEwal0lBJhktH86gzdOz7Wv++ngzpAP7QiQjgQNtBp ShfapQTqJi7PDBtnkSMEYhe6PISBpPhyPBrdD6eZ2eTuCSiYFoddEnKWwBTkx/oYjMkt hR4jq6ZLHHfCSYF43jkT5u9KrqBXsYfitxkpQRkRyC6FD7dqY6RsK6lzSKKs6NWvTGhX 0YkkLn8MXh+ha/Ph3aFjpmuG3TxMnWrVZO26DQ/cyH6GdV8d2d3QQb9U7s9WZW8VPCBZ +lsA== Original-Received: by 10.68.200.72 with SMTP id jq8mr30781058pbc.38.1350918835409; Mon, 22 Oct 2012 08:13:55 -0700 (PDT) Original-Received: by 10.66.222.229 with HTTP; Mon, 22 Oct 2012 08:13:35 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Mailman-Approved-At: Mon, 22 Oct 2012 11:56:27 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 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:65846 Archived-At: --047d7b111a274e139404cca74df5 Content-Type: text/plain; charset=UTF-8 Hi, I am getting a pretty reproducible bug in my own build of emacs-24.2.50.1 on osx-10.8.2 with the "lion fullscreen patch" from somewhere. Build info: git://git.savannah.gnu.org/emacs.git@fbfb2416 additional patch attached in fullscreen.patch config.log attached Steps to reproduce: 1. Install auto-complete-1.3.1 and git://github.com/brianjcj/auto-complete-clang 2. Visit a c++ file 3. Try completing some stuff 4. Segfaults after not too much messing around Backtrace: (gdb) bt #0 0x00007fff96242d46 in __kill () #1 0x000000010009f63e in fatal_error_backtrace (sig=6, backtrace_limit=6) at emacs.c:331 #2 0x00000001000bc5b3 in emacs_abort () at sysdep.c:1830 #3 0x000000010018c73d in ns_term_shutdown (sig=) at nsterm.m:4229 #4 0x000000010009f5f1 in fatal_error_backtrace (sig=11, backtrace_limit=10) at emacs.c:314 #5 0x00000001000a1cde in handle_fatal_signal (sig=) at emacs.c:287 #6 0x00000001000bc80d in handle_on_main_thread (sig=11, handler=0x1000a1cd0 ) at sysdep.c:1493 #7 #8 0x0000000100087491 in char_table_ref () at chartab.c:233 #9 0x000000010016fadf in composition_compute_stop_pos (cmp_it=0x7fff5fbf2770, charpos=4195335, bytepos=5, endpos=4300718816, string=140734799751024) at composite.c:1053 #10 0x000000010002e701 in compute_stop_pos (it=0x7fff5fbf4c40) at xdisp.c:3393 #11 0x000000010002fdcb in next_element_from_string (it=0x7fff5fbf43d8) at xdisp.c:7525 #12 0x00000001000318f2 in get_next_display_element (it=0x7fff5fbf43d8) at xdisp.c:6568 #13 0x0000000100039f06 in display_line (it=0x7fff5fbf43d8) at xdisp.c:19382 #14 0x00000001000410cf in try_window (window=4346955808, flags=1606373632) at xdisp.c:16285 #15 0x000000010004a5b6 in redisplay_window (window=140734799758296, just_this_one_p=1606393984) at xdisp.c:15811 #16 0x0000000100035d86 in redisplay_window_0 (window=140734799758296) at xdisp.c:13879 #17 0x000000010011b030 in internal_condition_case_1 (bfun=0x100035d60 , arg=140734799758296, handlers=4320156886, hfun=0x100016250 ) at eval.c:1346 #18 0x0000000100035d3c in redisplay_windows (window=140734799758296) at xdisp.c:13859 #19 0x00000001000422ad in redisplay_internal () at xdisp.c:13439 #20 0x0000000100042b37 in redisplay_preserve_echo_area (from_where=51992685) at xdisp.c:13695 #21 0x00000001000aaf39 in detect_input_pending_run_timers (do_display=1) at keyboard.c:10361 #22 0x000000010015dbed in wait_reading_process_output (time_limit=140734799790240, nsecs=1606402208, read_kbd=1606402208, do_display=1606402208, wait_for_cell=140734799790240, wait_proc=0x7fff5fbfc0a0, just_wait_proc=0) at process.c:4768 #23 0x00000001000056c5 in sit_for (timeout=28, do_display=1, reading=true) at dispnew.c:5977 #24 0x00000001000ae6e8 in read_char (commandflag=1606402928, nmaps=140734799790960, maps=0x7fff5fbfc370, prev_event=1, used_mouse_menu=0x7fff5fbfc370, end_time=0x7fff5fbfc370) at keyboard.c:2707 #25 0x00000001000b26b1 in read_key_sequence () at keyboard.c:2838 #26 0x00000001000b4148 in command_loop_1 () at keyboard.c:1487 #27 0x000000010011b186 in internal_condition_case (bfun=0x1000b2d10 , handlers=4320212282, hfun=0x1000b41d0 ) at eval.c:1308 #28 0x00000001000b2cee in command_loop_2 (ignore=140734799791752) at keyboard.c:1182 #29 0x000000010011b282 in internal_catch (tag=140734799791752, func=0x1000b2cb0 , arg=140734799791752) at eval.c:1069 #30 0x00000001000b4760 in command_loop [inlined] () at /Users/leif/git/emacs/src/keyboard.c:1161 #31 0x00000001000b4760 in recursive_edit_1 () at keyboard.c:782 #32 0x00000001000a4ead in Frecursive_edit () at keyboard.c:846 #33 0x00000001000a1c2d in main (argc=25241098, argv=0x7fff5fbfcc70) at emacs.c:1655 (gdb) thread apply all bt Thread 5 (core thread 4): #0 0x00007fff96243322 in select$DARWIN_EXTSN () #1 0x000000010018876b in -[EmacsApp fd_handler:] (self=0x5, _cmd=0x100f09b00, unused=0x0) at nsterm.m:4570 #2 0x00007fff9750a612 in __NSThread__main__ () #3 0x00007fff930d4742 in _pthread_start () #4 0x00007fff930c1181 in thread_start () Thread 4 (core thread 3): #0 0x00007fff962436d6 in __workq_kernreturn () #1 0x00007fff930d6eec in _pthread_workq_return () #2 0x00007fff930d6cb3 in _pthread_wqthread () #3 0x00007fff930c1171 in start_wqthread () Thread 3 (core thread 2): #0 0x00007fff96243d16 in kevent () #1 0x00007fff8c571dea in _dispatch_mgr_invoke () #2 0x00007fff8c5719ee in _dispatch_mgr_thread () Thread 2 (core thread 1): #0 0x00007fff962436d6 in __workq_kernreturn () #1 0x00007fff930d6eec in _pthread_workq_return () #2 0x00007fff930d6cb3 in _pthread_wqthread () #3 0x00007fff930c1171 in start_wqthread () Thread 1 (core thread 0): #0 0x00007fff96242d46 in __kill () #1 0x000000010009f63e in fatal_error_backtrace (sig=6, backtrace_limit=6) at emacs.c:331 #2 0x00000001000bc5b3 in emacs_abort () at sysdep.c:1830 #3 0x000000010018c73d in ns_term_shutdown (sig=) at nsterm.m:4229 #4 0x000000010009f5f1 in fatal_error_backtrace (sig=11, backtrace_limit=10) at emacs.c:314 #5 0x00000001000a1cde in handle_fatal_signal (sig=) at emacs.c:287 #6 0x00000001000bc80d in handle_on_main_thread (sig=11, handler=0x1000a1cd0 ) at sysdep.c:1493 #7 #8 0x0000000100087491 in char_table_ref () at chartab.c:233 #9 0x000000010016fadf in composition_compute_stop_pos (cmp_it=0x7fff5fbf2770, charpos=4195335, bytepos=5, endpos=4300718816, string=140734799751024) at composite.c:1053 #10 0x000000010002e701 in compute_stop_pos (it=0x7fff5fbf4c40) at xdisp.c:3393 #11 0x000000010002fdcb in next_element_from_string (it=0x7fff5fbf43d8) at xdisp.c:7525 #12 0x00000001000318f2 in get_next_display_element (it=0x7fff5fbf43d8) at xdisp.c:6568 #13 0x0000000100039f06 in display_line (it=0x7fff5fbf43d8) at xdisp.c:19382 #14 0x00000001000410cf in try_window (window=4346955808, flags=1606373632) at xdisp.c:16285 #15 0x000000010004a5b6 in redisplay_window (window=140734799758296, just_this_one_p=1606393984) at xdisp.c:15811 #16 0x0000000100035d86 in redisplay_window_0 (window=140734799758296) at xdisp.c:13879 #17 0x000000010011b030 in internal_condition_case_1 (bfun=0x100035d60 , arg=140734799758296, handlers=4320156886, hfun=0x100016250 ) at eval.c:1346 #18 0x0000000100035d3c in redisplay_windows (window=140734799758296) at xdisp.c:13859 #19 0x00000001000422ad in redisplay_internal () at xdisp.c:13439 #20 0x0000000100042b37 in redisplay_preserve_echo_area (from_where=51992685) at xdisp.c:13695 #21 0x00000001000aaf39 in detect_input_pending_run_timers (do_display=1) at keyboard.c:10361 #22 0x000000010015dbed in wait_reading_process_output (time_limit=140734799790240, nsecs=1606402208, read_kbd=1606402208, do_display=1606402208, wait_for_cell=140734799790240, wait_proc=0x7fff5fbfc0a0, just_wait_proc=0) at process.c:4768 #23 0x00000001000056c5 in sit_for (timeout=28, do_display=1, reading=true) at dispnew.c:5977 #24 0x00000001000ae6e8 in read_char (commandflag=1606402928, nmaps=140734799790960, maps=0x7fff5fbfc370, prev_event=1, used_mouse_menu=0x7fff5fbfc370, end_time=0x7fff5fbfc370) at keyboard.c:2707 #25 0x00000001000b26b1 in read_key_sequence () at keyboard.c:2838 #26 0x00000001000b4148 in command_loop_1 () at keyboard.c:1487 #27 0x000000010011b186 in internal_condition_case (bfun=0x1000b2d10 , handlers=4320212282, hfun=0x1000b41d0 ) at eval.c:1308 #28 0x00000001000b2cee in command_loop_2 (ignore=140734799791752) at keyboard.c:1182 #29 0x000000010011b282 in internal_catch (tag=140734799791752, func=0x1000b2cb0 , arg=140734799791752) at eval.c:1069 #30 0x00000001000b4760 in command_loop [inlined] () at /Users/leif/git/emacs/src/keyboard.c:1161 #31 0x00000001000b4760 in recursive_edit_1 () at keyboard.c:782 #32 0x00000001000a4ead in Frecursive_edit () at keyboard.c:846 #33 0x00000001000a1c2d in main (argc=25241098, argv=0x7fff5fbfcc70) at emacs.c:1655 Let me know if there's anything else I can do to help. I'm not familiar with emacs code but I'm handy with gdb. I'm uploading the corefile to my server, it's gonna be maybe a half an hour (it's ~120MB bzipped), when it's done you can: wget 'http://leifwalsh.com/emacs24-osx10.8-segfault-auto-complete-clang.core.bz2' -O- | bunzip2 -c >core.34598 -- Cheers, Leif --047d7b111a274e139404cca74df5 Content-Type: application/octet-stream; name="fullscreen.patch" Content-Disposition: attachment; filename="fullscreen.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h8lpr2xu0 ZGlmZiAtLWdpdCBhL2xpc3AvdGVybS9ucy13aW4uZWwgYi9saXNwL3Rlcm0vbnMtd2luLmVsCmlu ZGV4IDA2YjY3NDcuLjk3Y2JjM2QgMTAwNjQ0Ci0tLSBhL2xpc3AvdGVybS9ucy13aW4uZWwKKysr IGIvbGlzcC90ZXJtL25zLXdpbi5lbApAQCAtOTI4LDYgKzkyOCwxMCBAQCBTZWUgdGhlIGRvY3Vt ZW50YXRpb24gb2YgYGNyZWF0ZS1mb250c2V0LWZyb20tZm9udHNldC1zcGVjJyBmb3IgdGhlIGZv cm1hdC4iKQogKGFkZC10by1saXN0ICdmcmFtZS1jcmVhdGlvbi1mdW5jdGlvbi1hbGlzdCAnKG5z IC4geC1jcmVhdGUtZnJhbWUtd2l0aC1mYWNlcykpCiAoYWRkLXRvLWxpc3QgJ3dpbmRvdy1zeXN0 ZW0taW5pdGlhbGl6YXRpb24tYWxpc3QgJyhucyAuIG5zLWluaXRpYWxpemUtd2luZG93LXN5c3Rl bSkpCiAKKyhkZWNsYXJlLWZ1bmN0aW9uIG5zLXRvZ2dsZS1mdWxsc2NyZWVuLWludGVybmFsICJu c2Zucy5tIiAoKSkKKyhkZWZ1biBucy10b2dnbGUtZnVsbHNjcmVlbiAoKQorICAoaW50ZXJhY3Rp dmUpCisgIChucy10b2dnbGUtZnVsbHNjcmVlbi1pbnRlcm5hbCkpCiAKIChwcm92aWRlICducy13 aW4pCiAKZGlmZiAtLWdpdCBhL3NyYy9uc2Zucy5tIGIvc3JjL25zZm5zLm0KaW5kZXggMDcyMDA1 ZC4uMzIyZThjNSAxMDA2NDQKLS0tIGEvc3JjL25zZm5zLm0KKysrIGIvc3JjL25zZm5zLm0KQEAg LTI1ODksNiArMjU4OSwyMiBAQCBWYWx1ZSBpcyB0IGlmIHRvb2x0aXAgd2FzIG9wZW4sIG5pbCBv dGhlcndpc2UuICAqLykKIH0KIAogCitERUZVTiAoIm5zLXRvZ2dsZS1mdWxsc2NyZWVuLWludGVy bmFsIiwgRm5zX3RvZ2dsZV9mdWxsc2NyZWVuX2ludGVybmFsLCBTbnNfdG9nZ2xlX2Z1bGxzY3Jl ZW5faW50ZXJuYWwsCisgICAgICAgIDAsIDAsIDAsCisgICAgICAgIGRvYzogLyogVG9nZ2xlIGZ1 bHNjcmVlbiBtb2RlICovKQorKCkKK3sKKyAgc3RydWN0IGZyYW1lICpmID0gU0VMRUNURURfRlJB TUUoKTsKKyAgRW1hY3NXaW5kb3cgKndpbmRvdyA9IG5zX2dldF93aW5kb3coZik7CisKKyNpZiBk ZWZpbmVkIChOU19JTVBMX0NPQ09BKSAmJiBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49 IE1BQ19PU19YX1ZFUlNJT05fMTBfNworICBbd2luZG93IHRvZ2dsZUZ1bGxTY3JlZW46bmlsXTsK KyNlbmRpZgorCisgIHJldHVybiBRbmlsOworfQorCisKIC8qID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAK ICAgICBDbGFzcyBpbXBsZW1lbnRhdGlvbnMKQEAgLTI3NDQsNiArMjc2MCw4IEBAIGJlIHVzZWQg YXMgdGhlIGltYWdlIG9mIHRoZSBpY29uIHJlcHJlc2VudGluZyB0aGUgZnJhbWUuICAqLyk7CiAg IGRlZnN1YnIgKCZTeF9zaG93X3RpcCk7CiAgIGRlZnN1YnIgKCZTeF9oaWRlX3RpcCk7CiAKKyAg ZGVmc3ViciAoJlNuc190b2dnbGVfZnVsbHNjcmVlbl9pbnRlcm5hbCk7CisKICAgLyogdXNlZCBv bmx5IGluIGZvbnRzZXQuYyAqLwogICBjaGVja193aW5kb3dfc3lzdGVtX2Z1bmMgPSBjaGVja19u czsKIApkaWZmIC0tZ2l0IGEvc3JjL25zbWVudS5tIGIvc3JjL25zbWVudS5tCmluZGV4IDkwN2Qz ZWEuLjA5NzRjMDQgMTAwNjQ0Ci0tLSBhL3NyYy9uc21lbnUubQorKysgYi9zcmMvbnNtZW51Lm0K QEAgLTEwMTMsNyArMTAxMyw3IEBAIGZyZWVfZnJhbWVfdG9vbF9iYXIgKEZSQU1FX1BUUiBmKQog ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIHsKICAgQkxPQ0tfSU5QVVQ7Ci0gIFtbRlJBTUVfTlNf VklFVyAoZikgdG9vbGJhcl0gc2V0VmlzaWJsZTogTk9dOworICBbW0ZSQU1FX05TX1ZJRVcgKGYp IHdpbmRvd10gc2V0VG9vbGJhcjogbmlsXTsKICAgRlJBTUVfVE9PTEJBUl9IRUlHSFQgKGYpID0g MDsKICAgVU5CTE9DS19JTlBVVDsKIH0KQEAgLTEwMzAsNiArMTAzMCw4IEBAIHVwZGF0ZV9mcmFt ZV90b29sX2JhciAoRlJBTUVfUFRSIGYpCiAgIEVtYWNzVG9vbGJhciAqdG9vbGJhciA9IFt2aWV3 IHRvb2xiYXJdOwogCiAgIEJMT0NLX0lOUFVUOworICBbd2luZG93IHNldFRvb2xiYXI6IHRvb2xi YXJdOworCiAgIFt0b29sYmFyIGNsZWFyQWN0aXZlXTsKIAogICAvKiB1cGRhdGUgRW1hY3NUb29s YmFyIGFzIGluIEd0a1V0aWxzLCBidWlsZCBpdGVtcyBsaXN0ICovCmRpZmYgLS1naXQgYS9zcmMv bnN0ZXJtLmggYi9zcmMvbnN0ZXJtLmgKaW5kZXggZjNhZGFiOC4uOWIyZjAwNCAxMDA2NDQKLS0t IGEvc3JjL25zdGVybS5oCisrKyBiL3NyYy9uc3Rlcm0uaApAQCAtMzgsNiArMzgsOSBAQCBhbG9u ZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4gICovCiAjaWZuZGVmIE1BQ19PU19YX1ZFUlNJT05fMTBfNgogI2RlZmluZSBNQUNfT1Nf WF9WRVJTSU9OXzEwXzYgMTA2MAogI2VuZGlmCisjaWZuZGVmIE1BQ19PU19YX1ZFUlNJT05fMTBf NworI2RlZmluZSBNQUNfT1NfWF9WRVJTSU9OXzEwXzcgMTA3MAorI2VuZGlmCiAjZW5kaWYgLyog TlNfSU1QTF9DT0NPQSAqLwogCiAjaWZkZWYgX19PQkpDX18KZGlmZiAtLWdpdCBhL3NyYy9uc3Rl cm0ubSBiL3NyYy9uc3Rlcm0ubQppbmRleCAwYjI2NTA4Li44Y2IyMmY5IDEwMDY0NAotLS0gYS9z cmMvbnN0ZXJtLm0KKysrIGIvc3JjL25zdGVybS5tCkBAIC0xNDYwLDcgKzE0NjAsNyBAQCBuc19n ZXRfY29sb3IgKGNvbnN0IGNoYXIgKm5hbWUsIE5TQ29sb3IgKipjb2wpCiAKICAgaWYgKHIgPj0g MC4wKQogICAgIHsKLSAgICAgICpjb2wgPSBbTlNDb2xvciBjb2xvcldpdGhDYWxpYnJhdGVkUmVk OiByIGdyZWVuOiBnIGJsdWU6IGIgYWxwaGE6IDEuMF07CisgICAgICAqY29sID0gW05TQ29sb3Ig Y29sb3JXaXRoRGV2aWNlUmVkOiByIGdyZWVuOiBnIGJsdWU6IGIgYWxwaGE6IDEuMF07CiAgICAg ICBVTkJMT0NLX0lOUFVUOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtMTYyMiw3ICsxNjIy LDcgQEAgbnNfZ2V0X3JnYl9jb2xvciAoc3RydWN0IGZyYW1lICpmLCBmbG9hdCByLCBmbG9hdCBn LCBmbG9hdCBiLCBmbG9hdCBhKQogICBpZiAoYSA8IDAuMCkgYSA9IDAuMDsKICAgZWxzZSBpZiAo YSA+IDEuMCkgYSA9IDEuMDsKICAgcmV0dXJuICh1bnNpZ25lZCBsb25nKSBuc19pbmRleF9jb2xv cigKLSAgICBbTlNDb2xvciBjb2xvcldpdGhDYWxpYnJhdGVkUmVkOiByIGdyZWVuOiBnIGJsdWU6 IGIgYWxwaGE6IGFdLCBmKTsKKyAgICBbTlNDb2xvciBjb2xvcldpdGhEZXZpY2VSZWQ6IHIgZ3Jl ZW46IGcgYmx1ZTogYiBhbHBoYTogYV0sIGYpOwogfQogCiAKQEAgLTQwOTUsNyArNDA5NSw3IEBA IG5zX3Rlcm1faW5pdCAoTGlzcF9PYmplY3QgZGlzcGxheV9uYW1lKQogICAgICAgICAgICAgbmFt ZSA9IFNTREFUQSAoWENBUiAoY29sb3IpKTsKICAgICAgICAgICAgIGMgPSBYSU5UIChYQ0RSIChj b2xvcikpOwogICAgICAgICAgICAgW2NsIHNldENvbG9yOgotICAgICAgICAgICAgICAgICAgW05T Q29sb3IgY29sb3JXaXRoQ2FsaWJyYXRlZFJlZDogUkVEX0ZST01fVUxPTkcgKGMpIC8gMjU1LjAK KyAgICAgICAgICAgICAgICAgIFtOU0NvbG9yIGNvbG9yV2l0aERldmljZVJlZDogUkVEX0ZST01f VUxPTkcgKGMpIC8gMjU1LjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ3JlZW46IEdSRUVOX0ZST01fVUxPTkcgKGMpIC8gMjU1LjAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWU6IEJMVUVfRlJPTV9VTE9ORyAoYykg LyAyNTUuMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBo YTogMS4wXQpAQCAtNTQ0MywzOCArNTQ0Myw3IEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAqYXJn KQogI2VuZGlmCiAgIGlmIChyb3dzIDwgTUlOSEVJR0hUKQogICAgIHJvd3MgPSBNSU5IRUlHSFQ7 Ci0jaWZkZWYgTlNfSU1QTF9DT0NPQQotICB7Ci0gICAgLyogdGhpcyBzZXRzIHdpbmRvdyB0aXRs ZSB0byBoYXZlIHNpemUgaW4gaXQ7IHRoZSB3bSBkb2VzIHRoaXMgdW5kZXIgR1MgKi8KLSAgICBO U1JlY3QgciA9IFtbc2VsZiB3aW5kb3ddIGZyYW1lXTsKLSAgICBpZiAoci5zaXplLmhlaWdodCA9 PSBmcmFtZVNpemUuaGVpZ2h0ICYmIHIuc2l6ZS53aWR0aCA9PSBmcmFtZVNpemUud2lkdGgpCi0g ICAgICB7Ci0gICAgICAgIGlmIChvbGRfdGl0bGUgIT0gMCkKLSAgICAgICAgICB7Ci0gICAgICAg ICAgICB4ZnJlZSAob2xkX3RpdGxlKTsKLSAgICAgICAgICAgIG9sZF90aXRsZSA9IDA7Ci0gICAg ICAgICAgfQotICAgICAgfQotICAgIGVsc2UKLSAgICAgIHsKLSAgICAgICAgY2hhciAqc2l6ZV90 aXRsZTsKLSAgICAgICAgTlNXaW5kb3cgKndpbmRvdyA9IFtzZWxmIHdpbmRvd107Ci0gICAgICAg IGlmIChvbGRfdGl0bGUgPT0gMCkKLSAgICAgICAgICB7Ci0gICAgICAgICAgICBjb25zdCBjaGFy ICp0ID0gW1tbc2VsZiB3aW5kb3ddIHRpdGxlXSBVVEY4U3RyaW5nXTsKLSAgICAgICAgICAgIGNo YXIgKnBvcyA9IHN0cnN0ciAodCwgIiAg4oCUICAiKTsKLSAgICAgICAgICAgIGlmIChwb3MpCi0g ICAgICAgICAgICAgICpwb3MgPSAnXDAnOwotICAgICAgICAgICAgb2xkX3RpdGxlID0geHN0cmR1 cCAodCk7Ci0gICAgICAgICAgfQotICAgICAgICBzaXplX3RpdGxlID0geG1hbGxvYyAoc3RybGVu IChvbGRfdGl0bGUpICsgNDApOwotCWVzcHJpbnRmIChzaXplX3RpdGxlLCAiJXMgIOKAlCAgKCVk IHggJWQpIiwgb2xkX3RpdGxlLCBjb2xzLCByb3dzKTsKLSAgICAgICAgW3dpbmRvdyBzZXRUaXRs ZTogW05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOiBzaXplX3RpdGxlXV07Ci0gICAgICAg IFt3aW5kb3cgZGlzcGxheV07Ci0gICAgICAgIHhmcmVlIChzaXplX3RpdGxlKTsKLSAgICAgIH0K LSAgfQotI2VuZGlmIC8qIE5TX0lNUExfQ09DT0EgKi8KKwogLypmcHJpbnRmIChzdGRlcnIsIiAg ICAuLi5zaXplIGJlY2FtZSAlLjBmIHggJS4wZiAgKCVkIHggJWQpXG4iLGZyYW1lU2l6ZS53aWR0 aCxmcmFtZVNpemUuaGVpZ2h0LGNvbHMscm93cyk7ICovCiAKICAgcmV0dXJuIGZyYW1lU2l6ZTsK QEAgLTU0OTYsMTQgKzU0NjUsNiBAQCBub3RfaW5fYXJndiAoTlNTdHJpbmcgKmFyZykKICAgTlNU UkFDRSAod2luZG93RGlkUmVzaXplKTsKIC8qZnByaW50ZiAoc3RkZXJyLCJ3aW5kb3dEaWRSZXNp emU6ICUuMGZcbiIsW3RoZVdpbmRvdyBmcmFtZV0uc2l6ZS5oZWlnaHQpOyAqLwogCi0jaWZkZWYg TlNfSU1QTF9DT0NPQQotICBpZiAob2xkX3RpdGxlICE9IDApCi0gICAgewotICAgICAgeGZyZWUg KG9sZF90aXRsZSk7Ci0gICAgICBvbGRfdGl0bGUgPSAwOwotICAgIH0KLSNlbmRpZiAvKiBOU19J TVBMX0NPQ09BICovCi0KICAgLyogQXZvaWQgbG9vcCB1bmRlciBHTlVzdGVwIGR1ZSB0byBjYWxs IGF0IGJlZ2lubmluZyBvZiB0aGlzIGZ1bmN0aW9uLgogICAgICAoeF9zZXRfd2luZG93X3NpemUg Y2F1c2VzIGEgcmVzaXplIHdoaWNoIGNhdXNlcwogICAgICBhICJ3aW5kb3dEaWRSZXNpemUiIHdo aWNoIGNhbGxzIHhfc2V0X3dpbmRvd19zaXplKS4gICovCkBAIC01NTIyLDYgKzU0ODMsNjAgQEAg bm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcpCiAgIG5zX3NlbmRfYXBwZGVmaW5lZCAoLTEpOwog fQogCisjaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkgJiYgTUFDX09TX1hfVkVSU0lPTl9NQVhf QUxMT1dFRCA+PSBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKy0gKHZvaWQpd2luZG93RGlkRW50ZXJG dWxsU2NyZWVuOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgoreworICAgIE5TVFJBQ0Ug KHdpbmRvd0RpZEVudGVyRnVsbFNjcmVlbik7CisgICAgLyogTlNMb2coQCJDYWxsaW5nIHdpbmRv d0RpZEVudGVyRnVsbFNjcmVlbiIpOyAqLworICAgIAorICAgIE5TV2luZG93ICp3aW5kb3cgPSBb c2VsZiB3aW5kb3ddOworICAgIE5TUmVjdCB3ciA9IFt3aW5kb3cgZnJhbWVdOworICAgIGludCB3 ID0gKGludCl3ci5zaXplLndpZHRoIC0gZW1hY3NmcmFtZS0+Ym9yZGVyX3dpZHRoOworICAgIGlu dCBoID0gKGludCl3ci5zaXplLmhlaWdodDsKKyAgICBjb2xzID0gRlJBTUVfUElYRUxfV0lEVEhf VE9fVEVYVF9DT0xTKGVtYWNzZnJhbWUsIHcpOworICAgIHJvd3MgPSBGUkFNRV9QSVhFTF9IRUlH SFRfVE9fVEVYVF9MSU5FUyhlbWFjc2ZyYW1lLCBoKTsKKyAgICAvKiBOU0xvZyhAIndpbmRvd19z aXplPSVkeCVkICglZHglZCkiLCB3LCBoLCBjb2xzLCByb3dzKTsgKi8KKyAgICBGUkFNRV9QSVhF TF9XSURUSCAoZW1hY3NmcmFtZSkgPSB3OworICAgIEZSQU1FX1BJWEVMX0hFSUdIVCAoZW1hY3Nm cmFtZSkgPSBoOworICAgIGNoYW5nZV9mcmFtZV9zaXplIChlbWFjc2ZyYW1lLCByb3dzLCBjb2xz LCAwLCAxLCAwKTsKKyAgICBTRVRfRlJBTUVfR0FSQkFHRUQgKGVtYWNzZnJhbWUpOworICAgIGNh bmNlbF9tb3VzZV9mYWNlIChlbWFjc2ZyYW1lKTsKKyAgICBuc19zZW5kX2FwcGRlZmluZWQgKC0x KTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkgJiYgTUFDX09TX1hf VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKy0gKHZvaWQpd2lu ZG93RGlkRXhpdEZ1bGxTY3JlZW46KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCit7Cisg ICAgTlNUUkFDRSAod2luZG93RGlkRXhpdEZ1bGxTY3JlZW4pOworICAgIC8qIE5TTG9nKEAiQ2Fs bGluZyB3aW5kb3dEaWRFeGl0RnVsbFNjcmVlbiIpOyAqLworICAgIAorICAgIE5TV2luZG93ICp3 aW5kb3cgPSBbc2VsZiB3aW5kb3ddOworICAgIE5TUmVjdCB3ciA9IFt3aW5kb3cgZnJhbWVdOwor ICAgIGludCB3ID0gKGludCl3ci5zaXplLndpZHRoIC0gZW1hY3NmcmFtZS0+Ym9yZGVyX3dpZHRo OworICAgIGludCBoID0gKGludCl3ci5zaXplLmhlaWdodAorICAgIC0gRlJBTUVfTlNfVElUTEVC QVJfSEVJR0hUIChlbWFjc2ZyYW1lKQorICAgIC0gRlJBTUVfVE9PTEJBUl9IRUlHSFQgKGVtYWNz ZnJhbWUpOworICAgIGNvbHMgPSBGUkFNRV9QSVhFTF9XSURUSF9UT19URVhUX0NPTFMoZW1hY3Nm cmFtZSwgdyk7CisgICAgcm93cyA9IEZSQU1FX1BJWEVMX0hFSUdIVF9UT19URVhUX0xJTkVTKGVt YWNzZnJhbWUsIGgpOworICAgIC8qIE5TTG9nKEAid2luZG93X3NpemU9JWR4JWQgKCVkeCVkKSIs IHcsIGgsIGNvbHMsIHJvd3MpOyAqLworICAgIEZSQU1FX1BJWEVMX1dJRFRIIChlbWFjc2ZyYW1l KSA9IHc7CisgICAgRlJBTUVfUElYRUxfSEVJR0hUIChlbWFjc2ZyYW1lKSA9IGg7CisgICAgY2hh bmdlX2ZyYW1lX3NpemUgKGVtYWNzZnJhbWUsIHJvd3MsIGNvbHMsIDAsIDEsIDApOworICAgIFNF VF9GUkFNRV9HQVJCQUdFRCAoZW1hY3NmcmFtZSk7CisgICAgY2FuY2VsX21vdXNlX2ZhY2UgKGVt YWNzZnJhbWUpOworICAgIG5zX3NlbmRfYXBwZGVmaW5lZCAoLTEpOworfQorI2VuZGlmCisKKyNp ZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKSAmJiBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VE ID49IE1BQ19PU19YX1ZFUlNJT05fMTBfNworLSAoTlNBcHBsaWNhdGlvblByZXNlbnRhdGlvbk9w dGlvbnMpd2luZG93OihOU1dpbmRvdyAqKXdpbmRvdyB3aWxsVXNlRnVsbFNjcmVlblByZXNlbnRh dGlvbk9wdGlvbnM6KE5TQXBwbGljYXRpb25QcmVzZW50YXRpb25PcHRpb25zKXByb3Bvc2VkT3B0 aW9ucworeworICAgIC8qIE5TTG9nKEAiQ2FsbGluZyB3aW5kb3c6d2lsbFVzZUZ1bGxTY3JlZW5Q cmVzZW50YXRpb25PcHRpb25zOiAlZCIsIHByb3Bvc2VkT3B0aW9ucyk7ICovCisgICAgcmV0dXJu IHByb3Bvc2VkT3B0aW9ucyB8IE5TQXBwbGljYXRpb25QcmVzZW50YXRpb25BdXRvSGlkZVRvb2xi YXI7Cit9CisjZW5kaWYKKwogCiAtICh2b2lkKXdpbmRvd0RpZEJlY29tZUtleTogKE5TTm90aWZp Y2F0aW9uICopbm90aWZpY2F0aW9uCiAvKiBjZi4geF9kZXRlY3RfZm9jdXNfY2hhbmdlKCksIHhf Zm9jdXNfY2hhbmdlZCgpLCB4X25ld19mb2N1c19mcmFtZSgpICovCkBAIC01NjkyLDYgKzU3MDcs MTQgQEAgbm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcpCiAgIFtOU0FwcCByZWdpc3RlclNlcnZp Y2VzTWVudVNlbmRUeXBlczogbnNfc2VuZF90eXBlcwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmV0dXJuVHlwZXM6IG5pbF07CiAKKyNpZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKSAmJiBN QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IE1BQ19PU19YX1ZFUlNJT05fMTBfNworICBp ZiAoTlNBcHAgIT0gbmlsICYmIFtOU0FwcCBpc0FjdGl2ZV0pCisgIHsKKyAgICBbTlNBcHAgc2V0 UHJlc2VudGF0aW9uT3B0aW9uczogTlNBcHBsaWNhdGlvblByZXNlbnRhdGlvbkZ1bGxTY3JlZW4g fCBbTlNBcHAgcHJlc2VudGF0aW9uT3B0aW9uc10gXTsKKyAgICBbd2luIHNldENvbGxlY3Rpb25C ZWhhdmlvcjogTlNXaW5kb3dDb2xsZWN0aW9uQmVoYXZpb3JGdWxsU2NyZWVuUHJpbWFyeSB8IFt3 aW4gY29sbGVjdGlvbkJlaGF2aW9yXSBdOworICB9CisjZW5kaWYKKwogICBuc193aW5kb3dfbnVt Kys7CiAgIHJldHVybiBzZWxmOwogfQo= --047d7b111a274e139404cca74df5 Content-Type: application/octet-stream; name="config.log" Content-Disposition: attachment; filename="config.log" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h8lpuyr91 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGVtYWNzIGNvbmZpZ3VyZSAyNC4yLjUwLCB3 aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LiAgSW52b2NhdGlvbiBjb21t YW5kIGxpbmUgd2FzCgogICQgLi9jb25maWd1cmUgLS13aXRoLW5zIC0tZW5hYmxlLW5zLXNlbGYt Y29udGFpbmVkIC0tbm8tY3JlYXRlIC0tbm8tcmVjdXJzaW9uCgojIyAtLS0tLS0tLS0gIyMKIyMg UGxhdGZvcm0uICMjCiMjIC0tLS0tLS0tLSAjIwoKaG9zdG5hbWUgPSBpQnVrTWFjLmxvY2FsCnVu YW1lIC1tID0geDg2XzY0CnVuYW1lIC1yID0gMTIuMS4wCnVuYW1lIC1zID0gRGFyd2luCnVuYW1l IC12ID0gRGFyd2luIEtlcm5lbCBWZXJzaW9uIDEyLjEuMDogVHVlIEF1ZyAxNCAxMzoyOTo1NSBQ RFQgMjAxMjsgcm9vdDp4bnUtMjA1MC45LjJ+MS9SRUxFQVNFX1g4Nl82NAoKL3Vzci9iaW4vdW5h bWUgLXAgPSBpMzg2Ci9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAg ICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9j b252ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IE1hY2gg a2VybmVsIHZlcnNpb246CgkgRGFyd2luIEtlcm5lbCBWZXJzaW9uIDEyLjEuMDogVHVlIEF1ZyAx NCAxMzoyOTo1NSBQRFQgMjAxMjsgcm9vdDp4bnUtMjA1MC45LjJ+MS9SRUxFQVNFX1g4Nl82NApL ZXJuZWwgY29uZmlndXJlZCBmb3IgdXAgdG8gMiBwcm9jZXNzb3JzLgoyIHByb2Nlc3NvcnMgYXJl IHBoeXNpY2FsbHkgYXZhaWxhYmxlLgoyIHByb2Nlc3NvcnMgYXJlIGxvZ2ljYWxseSBhdmFpbGFi bGUuClByb2Nlc3NvciB0eXBlOiBpNDg2IChJbnRlbCA4MDQ4NikKUHJvY2Vzc29ycyBhY3RpdmU6 IDAgMQpQcmltYXJ5IG1lbW9yeSBhdmFpbGFibGU6IDQuMDAgZ2lnYWJ5dGVzCkRlZmF1bHQgcHJv Y2Vzc29yIHNldDogMTM0IHRhc2tzLCA2ODcgdGhyZWFkcywgMiBwcm9jZXNzb3JzCkxvYWQgYXZl cmFnZTogNC4wNiwgTWFjaCBmYWN0b3I6IDAuMzMKL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVu a25vd24KL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25vd24KL2Jpbi91bml2ZXJzZSAgICAg ICAgICA9IHVua25vd24KClBBVEg6IC9Vc2Vycy9sZWlmL2JpbgpQQVRIOiAvVXNlcnMvbGVpZi9s b2NhbC9iaW4KUEFUSDogL1VzZXJzL2xlaWYvbG9jYWwvc2JpbgpQQVRIOiAvdXNyL2xvY2FsL0Nl bGxhci9jb3JldXRpbHMvOC4xOS9saWJleGVjL2dudWJpbgpQQVRIOiAvQXBwbGljYXRpb25zL1hj b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl bG9wZXIvU0RLcy9NYWNPU1gxMC44LnNkay91c3IvYmluClBBVEg6IC9BcHBsaWNhdGlvbnMvWGNv ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9Ub29sY2hhaW5zL1hjb2RlRGVmYXVsdC54Y3Rvb2xj aGFpbi91c3IvYmluClBBVEg6IC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs b3Blci91c3IvYmluClBBVEg6IC91c3IvbG9jYWwvYmluClBBVEg6IC91c3IvbG9jYWwvc2JpbgpQ QVRIOiAvdXNyL2JpbgpQQVRIOiAvYmluClBBVEg6IC91c3Ivc2JpbgpQQVRIOiAvc2JpbgpQQVRI OiAvdXNyL2xvY2FsL2JpbgpQQVRIOiAvb3B0L1gxMS9iaW4KUEFUSDogL3Vzci90ZXhiaW4KCgoj IyAtLS0tLS0tLS0tLSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29u ZmlndXJlOjMzODc6IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwKY29uZmln dXJlOjM0NTU6IHJlc3VsdDogL3Vzci9sb2NhbC9DZWxsYXIvY29yZXV0aWxzLzguMTkvbGliZXhl Yy9nbnViaW4vaW5zdGFsbCAtYwpjb25maWd1cmU6MzQ2NjogY2hlY2tpbmcgd2hldGhlciBidWls ZCBlbnZpcm9ubWVudCBpcyBzYW5lCmNvbmZpZ3VyZTozNTIxOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MzY3MjogY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAKY29uZmlndXJlOjM3 MTE6IHJlc3VsdDogL3Vzci9sb2NhbC9DZWxsYXIvY29yZXV0aWxzLzguMTkvbGliZXhlYy9nbnVi aW4vbWtkaXIgLXAKY29uZmlndXJlOjM3MTk6IGNoZWNraW5nIGZvciBnYXdrCmNvbmZpZ3VyZToz NzQ5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNzE5OiBjaGVja2luZyBmb3IgbWF3awpjb25maWd1 cmU6Mzc0OTogcmVzdWx0OiBubwpjb25maWd1cmU6MzcxOTogY2hlY2tpbmcgZm9yIG5hd2sKY29u ZmlndXJlOjM3NDk6IHJlc3VsdDogbm8KY29uZmlndXJlOjM3MTk6IGNoZWNraW5nIGZvciBhd2sK Y29uZmlndXJlOjM3MzU6IGZvdW5kIC91c3IvYmluL2F3awpjb25maWd1cmU6Mzc0NjogcmVzdWx0 OiBhd2sKY29uZmlndXJlOjM3NTc6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkK Y29uZmlndXJlOjM3Nzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDMyOiBjaGVja2luZyBidWls ZCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6NDQ0NjogcmVzdWx0OiBpMzg2LWFwcGxlLWRhcndpbjEy LjEuMApjb25maWd1cmU6NDQ2NjogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6 NDQ3OTogcmVzdWx0OiBpMzg2LWFwcGxlLWRhcndpbjEyLjEuMApjb25maWd1cmU6NDcyNTogY2hl Y2tpbmcgZm9yIGdjYwpjb25maWd1cmU6NDc0MTogZm91bmQgL0FwcGxpY2F0aW9ucy9YY29kZS5h cHAvQ29udGVudHMvRGV2ZWxvcGVyL3Vzci9iaW4vZ2NjCmNvbmZpZ3VyZTo0NzUyOiByZXN1bHQ6 IGdjYwpjb25maWd1cmU6NDk4MTogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25m aWd1cmU6NDk5MDogZ2NjIC0tdmVyc2lvbiA+JjUKaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdj Yy00LjIgKEdDQykgNC4yLjEgKEJhc2VkIG9uIEFwcGxlIEluYy4gYnVpbGQgNTY1OCkgKExMVk0g YnVpbGQgMjMzNi4xMS4wMCkKQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5 aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3Vy ZTo1MDAxOiAkPyA9IDAKY29uZmlndXJlOjQ5OTA6IGdjYyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4g c3BlY3MuClRhcmdldDogaTY4Ni1hcHBsZS1kYXJ3aW4xMQpDb25maWd1cmVkIHdpdGg6IC9wcml2 YXRlL3Zhci90bXAvbGx2bWdjYzQyL2xsdm1nY2M0Mi0yMzM2LjExfjI4L3NyYy9jb25maWd1cmUg LS1kaXNhYmxlLWNoZWNraW5nIC0tZW5hYmxlLXdlcnJvciAtLXByZWZpeD0vQXBwbGljYXRpb25z L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvdXNyL2xsdm0tZ2NjLTQuMiAtLW1hbmRpcj0v c2hhcmUvbWFuIC0tZW5hYmxlLWxhbmd1YWdlcz1jLG9iamMsYysrLG9iai1jKysgLS1wcm9ncmFt LXByZWZpeD1sbHZtLSAtLXByb2dyYW0tdHJhbnNmb3JtLW5hbWU9L15bY2ddW14uLV0qJC9zLyQv LTQuMi8gLS13aXRoLXNsaWJkaXI9L3Vzci9saWIgLS1idWlsZD1pNjg2LWFwcGxlLWRhcndpbjEx IC0tZW5hYmxlLWxsdm09L3ByaXZhdGUvdmFyL3RtcC9sbHZtZ2NjNDIvbGx2bWdjYzQyLTIzMzYu MTF+MjgvZHN0LWxsdm1Db3JlL0RldmVsb3Blci91c3IvbG9jYWwgLS1wcm9ncmFtLXByZWZpeD1p Njg2LWFwcGxlLWRhcndpbjExLSAtLWhvc3Q9eDg2XzY0LWFwcGxlLWRhcndpbjExIC0tdGFyZ2V0 PWk2ODYtYXBwbGUtZGFyd2luMTEgLS13aXRoLWd4eC1pbmNsdWRlLWRpcj0vdXNyL2luY2x1ZGUv YysrLzQuMi4xClRocmVhZCBtb2RlbDogcG9zaXgKZ2NjIHZlcnNpb24gNC4yLjEgKEJhc2VkIG9u IEFwcGxlIEluYy4gYnVpbGQgNTY1OCkgKExMVk0gYnVpbGQgMjMzNi4xMS4wMCkKY29uZmlndXJl OjUwMDE6ICQ/ID0gMApjb25maWd1cmU6NDk5MDogZ2NjIC1WID4mNQpsbHZtLWdjYy00LjI6IGFy Z3VtZW50IHRvIGAtVicgaXMgbWlzc2luZwpjb25maWd1cmU6NTAwMTogJD8gPSAxCmNvbmZpZ3Vy ZTo0OTkwOiBnY2MgLXF2ZXJzaW9uID4mNQppNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQu Mjogbm8gaW5wdXQgZmlsZXMKY29uZmlndXJlOjUwMDE6ICQ/ID0gMQpjb25maWd1cmU6NTAyMTog Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcwpjb25maWd1cmU6NTA0MzogZ2Nj ICAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTA0NzogJD8gPSAwCmNvbmZpZ3VyZTo1MDk1 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTA5ODogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVm YXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZTo1MTAwOiByZXN1bHQ6IGEub3V0CmNvbmZp Z3VyZTo1MTA2OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTo1 MTEzOiBnY2MgLW8gY29uZnRlc3QgICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1MTE3OiAk PyA9IDAKY29uZmlndXJlOjUxMzk6IHJlc3VsdDogCmNvbmZpZ3VyZTo1MTYxOiBjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmlndXJlOjUxNjk6IGdjYyAtbyBjb25m dGVzdCAgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjUxNzM6ICQ/ID0gMApjb25maWd1cmU6 NTE4MDogLi9jb25mdGVzdApjb25maWd1cmU6NTE4NDogJD8gPSAwCmNvbmZpZ3VyZTo1MTk5OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1MjA0OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBm aWxlcwpjb25maWd1cmU6NTIyNjogZ2NjIC1jICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjUy MzA6ICQ/ID0gMApjb25maWd1cmU6NTI1MTogcmVzdWx0OiBvCmNvbmZpZ3VyZTo1MjU1OiBjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIKY29uZmlndXJlOjUy NzQ6IGdjYyAtYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1Mjc0OiAkPyA9IDAKY29uZmln dXJlOjUyODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MjkyOiBjaGVja2luZyB3aGV0aGVyIGdj YyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo1MzEyOiBnY2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZTo1MzEyOiAkPyA9IDAKY29uZmlndXJlOjUzNTM6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo1MzcwOiBjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1 cmU6NTQzMzogZ2NjICAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1NDMzOiAk PyA9IDAKY29uZmlndXJlOjU0NDY6IHJlc3VsdDogbm9uZSBuZWVkZWQKY29uZmlndXJlOjU0Nzc6 IGNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZQpjb25maWd1cmU6NTUw NTogcmVzdWx0OiBHTlUKY29uZmlndXJlOjU1MzE6IGNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjCmNvbmZpZ3VyZTo1NjQyOiByZXN1bHQ6IGdjYzMKY29uZmlndXJlOjU2NTg6IGNoZWNr aW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlcgpjb25m aWd1cmU6NTY4OTogZ2NjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1CmNvbmZpZ3Vy ZTo1NjkzOiAkPyA9IDAKY29uZmlndXJlOjU2OTk6IGdjYyAtYyBjb25mdGVzdC5jIC1vIGNvbmZ0 ZXN0Mi5vID4mNQpjb25maWd1cmU6NTcwMzogJD8gPSAwCmNvbmZpZ3VyZTo1NzE0OiBjYyAtYyBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6NTcxODogJD8gPSAwCmNvbmZpZ3VyZTo1NzI2OiBjYyAt YyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0Mi5vID4mNQpjb25maWd1cmU6NTczMDogJD8gPSAwCmNv bmZpZ3VyZTo1NzM2OiBjYyAtYyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0Mi5vID4mNQpjb25maWd1 cmU6NTc0MDogJD8gPSAwCmNvbmZpZ3VyZTo1NzU4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc5 NzogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKY29uZmlndXJlOjU4Mjg6 IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NTgyODogJD8gPSAwCmNvbmZpZ3VyZTo1ODQy OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMjoyODogZXJyb3I6IGFjX25vbmV4aXN0 ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjU4NDI6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjU4Njc6IHJl c3VsdDogZ2NjIC1FCmNvbmZpZ3VyZTo1ODg3OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJl OjU4ODc6ICQ/ID0gMApjb25maWd1cmU6NTkwMTogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZ0ZXN0 LmM6MTI6Mjg6IGVycm9yOiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CmNvbmZpZ3VyZTo1OTAxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4 aXN0ZW50Lmg+CmNvbmZpZ3VyZTo1OTMwOiBjaGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMg bG9uZyBsaW5lcyBhbmQgLWUKY29uZmlndXJlOjU5ODg6IHJlc3VsdDogL3Vzci9iaW4vZ3JlcApj b25maWd1cmU6NTk5MzogY2hlY2tpbmcgZm9yIGVncmVwCmNvbmZpZ3VyZTo2MDU1OiByZXN1bHQ6 IC91c3IvYmluL2dyZXAgLUUKY29uZmlndXJlOjYwNjI6IGNoZWNraW5nIGZvciBNaW5peCBBbXN0 ZXJkYW0gY29tcGlsZXIKY29uZmlndXJlOjYwODY6IHJlc3VsdDogbm8KY29uZmlndXJlOjYxMzg6 IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6NjE1NDogZm91bmQgL0FwcGxpY2F0aW9ucy9YY29k ZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1Rvb2xjaGFpbnMvWGNvZGVEZWZhdWx0LnhjdG9vbGNo YWluL3Vzci9iaW4vYXIKY29uZmlndXJlOjYxNjU6IHJlc3VsdDogYXIKY29uZmlndXJlOjYyNDU6 IGNoZWNraW5nIGZvciByYW5saWIKY29uZmlndXJlOjYyNjE6IGZvdW5kIC9BcHBsaWNhdGlvbnMv WGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9Ub29sY2hhaW5zL1hjb2RlRGVmYXVsdC54Y3Rv b2xjaGFpbi91c3IvYmluL3JhbmxpYgpjb25maWd1cmU6NjI3MjogcmVzdWx0OiByYW5saWIKY29u ZmlndXJlOjYyOTg6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTo2 MzE4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjMxODogJD8gPSAw CmNvbmZpZ3VyZTo2MzkxOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1 CmNvbmZpZ3VyZTo2MzkxOiAkPyA9IDAKY29uZmlndXJlOjYzOTE6IC4vY29uZnRlc3QKY29uZmln dXJlOjYzOTE6ICQ/ID0gMApjb25maWd1cmU6NjQwMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY0 MTU6IGNoZWNraW5nIGZvciBzeXMvdHlwZXMuaApjb25maWd1cmU6NjQxNTogZ2NjIC1jIC1nIC1P MiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY0MTU6ICQ/ID0gMApjb25maWd1cmU6NjQxNTog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjY0MTU6IGNoZWNraW5nIGZvciBzeXMvc3RhdC5oCmNvbmZp Z3VyZTo2NDE1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjQxNTog JD8gPSAwCmNvbmZpZ3VyZTo2NDE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQxNTogY2hlY2tp bmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3VyZTo2NDE1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6NjQxNTogJD8gPSAwCmNvbmZpZ3VyZTo2NDE1OiByZXN1bHQ6IHllcwpj b25maWd1cmU6NjQxNTogY2hlY2tpbmcgZm9yIHN0cmluZy5oCmNvbmZpZ3VyZTo2NDE1OiBnY2Mg LWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjQxNTogJD8gPSAwCmNvbmZpZ3Vy ZTo2NDE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQxNTogY2hlY2tpbmcgZm9yIG1lbW9yeS5o CmNvbmZpZ3VyZTo2NDE1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 NjQxNTogJD8gPSAwCmNvbmZpZ3VyZTo2NDE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQxNTog Y2hlY2tpbmcgZm9yIHN0cmluZ3MuaApjb25maWd1cmU6NjQxNTogZ2NjIC1jIC1nIC1PMiAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjY0MTU6ICQ/ID0gMApjb25maWd1cmU6NjQxNTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjY0MTU6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo2 NDE1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjQxNTogJD8gPSAw CmNvbmZpZ3VyZTo2NDE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQxNTogY2hlY2tpbmcgZm9y IHN0ZGludC5oCmNvbmZpZ3VyZTo2NDE1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6NjQxNTogJD8gPSAwCmNvbmZpZ3VyZTo2NDE1OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6NjQxNTogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTo2NDE1OiBnY2MgLWMgLWcg LU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjQxNTogJD8gPSAwCmNvbmZpZ3VyZTo2NDE1 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQzMDogY2hlY2tpbmcgbWluaXgvY29uZmlnLmggdXNh YmlsaXR5CmNvbmZpZ3VyZTo2NDMwOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25m dGVzdC5jOjU1OjI2OiBlcnJvcjogbWluaXgvY29uZmlnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKY29uZmlndXJlOjY0MzA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu ZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9T WVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg U1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5l ZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRl IDxtaW5peC9jb25maWcuaD4KY29uZmlndXJlOjY0MzA6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0 MzA6IGNoZWNraW5nIG1pbml4L2NvbmZpZy5oIHByZXNlbmNlCmNvbmZpZ3VyZTo2NDMwOiBnY2Mg LUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoyMjoyNjogZXJyb3I6IG1pbml4L2NvbmZpZy5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo2NDMwOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1pbml4 L2NvbmZpZy5oPgpjb25maWd1cmU6NjQzMDogcmVzdWx0OiBubwpjb25maWd1cmU6NjQzMDogY2hl Y2tpbmcgZm9yIG1pbml4L2NvbmZpZy5oCmNvbmZpZ3VyZTo2NDMwOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo2NDU5OiBjaGVja2luZyB3aGV0aGVyIGl0IGlzIHNhZmUgdG8gZGVmaW5lIF9fRVhURU5T SU9OU19fCmNvbmZpZ3VyZTo2NDc3OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6NjQ3NzogJD8gPSAwCmNvbmZpZ3VyZTo2NDg0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 NjUxMzogY2hlY2tpbmcgZm9yIHNwZWNpYWwgQyBjb21waWxlciBvcHRpb25zIG5lZWRlZCBmb3Ig bGFyZ2UgZmlsZXMKY29uZmlndXJlOjY1NTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1NjQ6IGNo ZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVz CmNvbmZpZ3VyZTo2NTg5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 NjU4OTogJD8gPSAwCmNvbmZpZ3VyZTo2NjIxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NzEwOiBj aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM5OQpjb25maWd1cmU6Njg1OTog Z2NjICAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzg6IGVycm9yOiBleHBl Y3RlZCAnOycsICcsJyBvciAnKScgYmVmb3JlICd0ZXh0Jwpjb25mdGVzdC5jOiBJbiBmdW5jdGlv biAnbWFpbic6CmNvbmZ0ZXN0LmM6MTMyOiBlcnJvcjogbmVzdGVkIGZ1bmN0aW9ucyBhcmUgZGlz YWJsZWQsIHVzZSAtZm5lc3RlZC1mdW5jdGlvbnMgdG8gcmUtZW5hYmxlCmNvbmZ0ZXN0LmM6MTMy OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18n IGJlZm9yZSAnbmV3dmFyJwpjb25mdGVzdC5jOjEzMjogZXJyb3I6ICduZXd2YXInIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjEzMjogZXJyb3I6IChF YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UKY29uZnRlc3Qu YzoxMzI6IGVycm9yOiBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluLikKY29uZnRlc3Qu YzoxNDI6IGVycm9yOiAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb24gdXNlZCBvdXRzaWRl IEM5OSBtb2RlCmNvbmZpZ3VyZTo2ODU5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZp bmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGFyZy5oPgp8ICNpbmNsdWRlIDxz dGRib29sLmg+CnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNsdWRlIDx3Y2hhci5oPgp8ICNp bmNsdWRlIDxzdGRpby5oPgp8IAp8IC8vIENoZWNrIHZhcmFyZ3MgbWFjcm9zLiAgVGhlc2UgZXhh bXBsZXMgYXJlIHRha2VuIGZyb20gQzk5IDYuMTAuMy41Lgp8ICNkZWZpbmUgZGVidWcoLi4uKSBm cHJpbnRmIChzdGRlcnIsIF9fVkFfQVJHU19fKQp8ICNkZWZpbmUgc2hvd2xpc3QoLi4uKSBwdXRz ICgjX19WQV9BUkdTX18pCnwgI2RlZmluZSByZXBvcnQodGVzdCwuLi4pICgodGVzdCkgPyBwdXRz ICgjdGVzdCkgOiBwcmludGYgKF9fVkFfQVJHU19fKSkKfCBzdGF0aWMgdm9pZAp8IHRlc3RfdmFy YXJnc19tYWNyb3MgKHZvaWQpCnwgewp8ICAgaW50IHggPSAxMjM0Owp8ICAgaW50IHkgPSA1Njc4 Owp8ICAgZGVidWcgKCJGbGFnIik7CnwgICBkZWJ1ZyAoIlggPSAlZFxuIiwgeCk7CnwgICBzaG93 bGlzdCAoVGhlIGZpcnN0LCBzZWNvbmQsIGFuZCB0aGlyZCBpdGVtcy4pOwp8ICAgcmVwb3J0ICh4 PnksICJ4IGlzICVkIGJ1dCB5IGlzICVkIiwgeCwgeSk7CnwgfQp8IAp8IC8vIENoZWNrIGxvbmcg bG9uZyB0eXBlcy4KfCAjZGVmaW5lIEJJRzY0IDE4NDQ2NzQ0MDczNzA5NTUxNjE1dWxsCnwgI2Rl ZmluZSBCSUczMiA0Mjk0OTY3Mjk1dWwKfCAjZGVmaW5lIEJJR19PSyAoQklHNjQgLyBCSUczMiA9 PSA0Mjk0OTY3Mjk3dWxsICYmIEJJRzY0ICUgQklHMzIgPT0gMCkKfCAjaWYgIUJJR19PSwp8ICAg eW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNlbmRpZgp8ICNpZiBCSUdfT0sKfCAjZWxz ZQp8ICAgeW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNlbmRpZgp8IHN0YXRpYyBsb25n IGxvbmcgaW50IGJpZ251bSA9IC05MjIzMzcyMDM2ODU0Nzc1ODA3TEw7Cnwgc3RhdGljIHVuc2ln bmVkIGxvbmcgbG9uZyBpbnQgdWJpZ251bSA9IEJJRzY0Owp8IAp8IHN0cnVjdCBpbmNvbXBsZXRl X2FycmF5Cnwgewp8ICAgaW50IGRhdGFzaXplOwp8ICAgZG91YmxlIGRhdGFbXTsKfCB9Owp8IAp8 IHN0cnVjdCBuYW1lZF9pbml0IHsKfCAgIGludCBudW1iZXI7CnwgICBjb25zdCB3Y2hhcl90ICpu YW1lOwp8ICAgZG91YmxlIGF2ZXJhZ2U7CnwgfTsKfCAKfCB0eXBlZGVmIGNvbnN0IGNoYXIgKmNj cDsKfCAKfCBzdGF0aWMgaW5saW5lIGludAp8IHRlc3RfcmVzdHJpY3QgKGNjcCByZXN0cmljdCB0 ZXh0KQp8IHsKfCAgIC8vIFNlZSBpZiBDKystc3R5bGUgY29tbWVudHMgd29yay4KfCAgIC8vIEl0 ZXJhdGUgdGhyb3VnaCBpdGVtcyB2aWEgdGhlIHJlc3RyaWN0ZWQgcG9pbnRlci4KfCAgIC8vIEFs c28gY2hlY2sgZm9yIGRlY2xhcmF0aW9ucyBpbiBmb3IgbG9vcHMuCnwgICBmb3IgKHVuc2lnbmVk IGludCBpID0gMDsgKih0ZXh0K2kpICE9ICdcMCc7ICsraSkKfCAgICAgY29udGludWU7CnwgICBy ZXR1cm4gMDsKfCB9CnwgCnwgLy8gQ2hlY2sgdmFyYXJncyBhbmQgdmFfY29weS4KfCBzdGF0aWMg dm9pZAp8IHRlc3RfdmFyYXJncyAoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCnwgewp8ICAgdmFf bGlzdCBhcmdzOwp8ICAgdmFfc3RhcnQgKGFyZ3MsIGZvcm1hdCk7CnwgICB2YV9saXN0IGFyZ3Nf Y29weTsKfCAgIHZhX2NvcHkgKGFyZ3NfY29weSwgYXJncyk7CnwgCnwgICBjb25zdCBjaGFyICpz dHI7CnwgICBpbnQgbnVtYmVyOwp8ICAgZmxvYXQgZm51bWJlcjsKfCAKfCAgIHdoaWxlICgqZm9y bWF0KQp8ICAgICB7CnwgICAgICAgc3dpdGNoICgqZm9ybWF0KyspCnwgCXsKfCAJY2FzZSAncyc6 IC8vIHN0cmluZwp8IAkgIHN0ciA9IHZhX2FyZyAoYXJnc19jb3B5LCBjb25zdCBjaGFyICopOwp8 IAkgIGJyZWFrOwp8IAljYXNlICdkJzogLy8gaW50CnwgCSAgbnVtYmVyID0gdmFfYXJnIChhcmdz X2NvcHksIGludCk7CnwgCSAgYnJlYWs7CnwgCWNhc2UgJ2YnOiAvLyBmbG9hdAp8IAkgIGZudW1i ZXIgPSB2YV9hcmcgKGFyZ3NfY29weSwgZG91YmxlKTsKfCAJICBicmVhazsKfCAJZGVmYXVsdDoK fCAJICBicmVhazsKfCAJfQp8ICAgICB9CnwgICB2YV9lbmQgKGFyZ3NfY29weSk7CnwgICB2YV9l bmQgKGFyZ3MpOwp8IH0KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgLy8gQ2hlY2sgYm9v bC4KfCAgIF9Cb29sIHN1Y2Nlc3MgPSBmYWxzZTsKfCAKfCAgIC8vIENoZWNrIHJlc3RyaWN0Lgp8 ICAgaWYgKHRlc3RfcmVzdHJpY3QgKCJTdHJpbmcgbGl0ZXJhbCIpID09IDApCnwgICAgIHN1Y2Nl c3MgPSB0cnVlOwp8ICAgY2hhciAqcmVzdHJpY3QgbmV3dmFyID0gIkFub3RoZXIgc3RyaW5nIjsK fCAKfCAgIC8vIENoZWNrIHZhcmFyZ3MuCnwgICB0ZXN0X3ZhcmFyZ3MgKCJzLCBkJyBmIC4iLCAi c3RyaW5nIiwgNjUsIDM0LjIzNCk7CnwgICB0ZXN0X3ZhcmFyZ3NfbWFjcm9zICgpOwp8IAp8ICAg Ly8gQ2hlY2sgZmxleGlibGUgYXJyYXkgbWVtYmVycy4KfCAgIHN0cnVjdCBpbmNvbXBsZXRlX2Fy cmF5ICppYSA9CnwgICAgIG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgaW5jb21wbGV0ZV9hcnJheSkg KyAoc2l6ZW9mIChkb3VibGUpICogMTApKTsKfCAgIGlhLT5kYXRhc2l6ZSA9IDEwOwp8ICAgZm9y IChpbnQgaSA9IDA7IGkgPCBpYS0+ZGF0YXNpemU7ICsraSkKfCAgICAgaWEtPmRhdGFbaV0gPSBp ICogMS4yMzQ7CnwgCnwgICAvLyBDaGVjayBuYW1lZCBpbml0aWFsaXplcnMuCnwgICBzdHJ1Y3Qg bmFtZWRfaW5pdCBuaSA9IHsKfCAgICAgLm51bWJlciA9IDM0LAp8ICAgICAubmFtZSA9IEwiVGVz dCB3aWRlIHN0cmluZyIsCnwgICAgIC5hdmVyYWdlID0gNTQzLjM0MzQzLAp8ICAgfTsKfCAKfCAg IG5pLm51bWJlciA9IDU4Owp8IAp8ICAgaW50IGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyXTsKfCAg IGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gPSA1NDM7CnwgCnwgICAvLyB3b3JrIGFyb3Vu ZCB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MKfCAgIHJldHVybiAoIXN1Y2Nlc3MgfHwgYmlnbnVt ID09IDBMTCB8fCB1YmlnbnVtID09IDB1TEwgfHwgbmV3dmFyWzBdID09ICd4Jwp8IAkgIHx8IGR5 bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gIT0gNTQzKTsKfCAKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjY4NTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nIC1PMiAgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjY4NTk6ICQ/ID0gMApjb25maWd1cmU6Njg3OTogcmVzdWx0OiAtc3Rk PWdudTk5CmNvbmZpZ3VyZTo2OTgwOiBjaGVja2luZyBmb3IgZ2NjIC1zdGQ9Z251OTkgb3B0aW9u IHRvIGFjY2VwdCBJU08gU3RhbmRhcmQgQwpjb25maWd1cmU6Njk5NDogcmVzdWx0OiAtc3RkPWdu dTk5CmNvbmZpZ3VyZTo3MDk2OiBjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTk5IGFjY2Vw dHMgLWczIC1PMgpjb25maWd1cmU6NzExMjogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWcz IC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NzExMjogJD8gPSAwCmNvbmZpZ3VyZTo3 MTIwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Nzg4OTogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3 b3Jrcwpjb25maWd1cmU6Nzg5MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjc5MDM6IGNoZWNraW5n IGZvciBpbnN0YWxsLWluZm8KY29uZmlndXJlOjc5MjE6IGZvdW5kIC91c3IvYmluL2luc3RhbGwt aW5mbwpjb25maWd1cmU6NzkzNDogcmVzdWx0OiAvdXNyL2Jpbi9pbnN0YWxsLWluZm8KY29uZmln dXJlOjc5NDQ6IGNoZWNraW5nIGZvciBnemlwCmNvbmZpZ3VyZTo3OTYyOiBmb3VuZCAvdXNyL2Jp bi9nemlwCmNvbmZpZ3VyZTo3OTc0OiByZXN1bHQ6IC91c3IvYmluL2d6aXAKY29uZmlndXJlOjgw NTI6IGNoZWNraW5nIGZvciBtYWtlaW5mbwpjb25maWd1cmU6ODA3MDogZm91bmQgL3Vzci9iaW4v bWFrZWluZm8KY29uZmlndXJlOjgwODM6IHJlc3VsdDogL3Vzci9iaW4vbWFrZWluZm8KY29uZmln dXJlOjgxNDI6IGNoZWNraW5nIGZvciAtem5vY29tYnJlbG9jCmNvbmZpZ3VyZTo4MTU1OiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgLVdsLC16bm9jb21icmVsb2MgY29uZnRl c3QuYyAgPiY1CmxkOiB1bmtub3duIG9wdGlvbjogLXpub2NvbWJyZWxvYwpjb2xsZWN0MjogbGQg cmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6ODE1NTogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNz IDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu Mi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IGludAp8IG1haW4gKCkKfCB7 CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo4MTYwOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo4NDg5OiBjaGVja2luZyBmb3IgcGtnLWNvbmZpZwpjb25maWd1cmU6ODUwNzogZm91 bmQgL3Vzci9sb2NhbC9iaW4vcGtnLWNvbmZpZwpjb25maWd1cmU6ODUyMDogcmVzdWx0OiAvdXNy L2xvY2FsL2Jpbi9wa2ctY29uZmlnCmNvbmZpZ3VyZTo4NTM3OiBjaGVja2luZyBtYWNoaW5lL3Nv dW5kY2FyZC5oIHVzYWJpbGl0eQpjb25maWd1cmU6ODUzNzogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjYyOjMxOiBlcnJvcjogbWFjaGluZS9z b3VuZGNhcmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6ODUzNzogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFW RV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRl Zi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVm aW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8 bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNs dWRlIDxtYWNoaW5lL3NvdW5kY2FyZC5oPgpjb25maWd1cmU6ODUzNzogcmVzdWx0OiBubwpjb25m aWd1cmU6ODUzNzogY2hlY2tpbmcgbWFjaGluZS9zb3VuZGNhcmQuaCBwcmVzZW5jZQpjb25maWd1 cmU6ODUzNzogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoyOTozMTogZXJyb3I6IG1h Y2hpbmUvc291bmRjYXJkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjg1 Mzc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRh cndpbiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1hY2hpbmUvc291bmRj YXJkLmg+CmNvbmZpZ3VyZTo4NTM3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4NTM3OiBjaGVja2lu ZyBmb3IgbWFjaGluZS9zb3VuZGNhcmQuaApjb25maWd1cmU6ODUzNzogcmVzdWx0OiBubwpjb25m aWd1cmU6ODUzNzogY2hlY2tpbmcgc3lzL3NvdW5kY2FyZC5oIHVzYWJpbGl0eQpjb25maWd1cmU6 ODUzNzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjYyOjI3OiBlcnJvcjogc3lzL3NvdW5kY2FyZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CmNvbmZpZ3VyZTo4NTM3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMv c3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElC X0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVf TUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxz dHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0 cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxp bnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxz dGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5p c3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHN5cy9zb3VuZGNhcmQuaD4KY29uZmlndXJlOjg1 Mzc6IHJlc3VsdDogbm8KY29uZmlndXJlOjg1Mzc6IGNoZWNraW5nIHN5cy9zb3VuZGNhcmQuaCBw cmVzZW5jZQpjb25maWd1cmU6ODUzNzogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoy OToyNzogZXJyb3I6IHN5cy9zb3VuZGNhcmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj b25maWd1cmU6ODUzNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNF X1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiZGFyd2luIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lz L3NvdW5kY2FyZC5oPgpjb25maWd1cmU6ODUzNzogcmVzdWx0OiBubwpjb25maWd1cmU6ODUzNzog Y2hlY2tpbmcgZm9yIHN5cy9zb3VuZGNhcmQuaApjb25maWd1cmU6ODUzNzogcmVzdWx0OiBubwpj b25maWd1cmU6ODUzNzogY2hlY2tpbmcgc291bmRjYXJkLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo4 NTM3OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6NjI6MjM6IGVycm9yOiBzb3VuZGNhcmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj b25maWd1cmU6ODUzNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNF X1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiZGFyd2luIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3Rk aW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQu aD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwg IyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9S WV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5n Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlw ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50 Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzb3VuZGNhcmQuaD4KY29uZmlndXJlOjg1Mzc6IHJlc3Vs dDogbm8KY29uZmlndXJlOjg1Mzc6IGNoZWNraW5nIHNvdW5kY2FyZC5oIHByZXNlbmNlCmNvbmZp Z3VyZTo4NTM3OiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjI5OjIzOiBlcnJvcjog c291bmRjYXJkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjg1Mzc6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHNvdW5kY2FyZC5oPgpjb25maWd1 cmU6ODUzNzogcmVzdWx0OiBubwpjb25maWd1cmU6ODUzNzogY2hlY2tpbmcgZm9yIHNvdW5kY2Fy ZC5oCmNvbmZpZ3VyZTo4NTM3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4NTQ4OiBjaGVja2luZyBm b3IgX29zc19pb2N0bCBpbiAtbG9zc2F1ZGlvCmNvbmZpZ3VyZTo4NTczOiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1sb3NzYXVkaW8gICA+JjUgCmxk OiBsaWJyYXJ5IG5vdCBmb3VuZCBmb3IgLWxvc3NhdWRpbwpjb2xsZWN0MjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwpjb25maWd1cmU6ODU3MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAj ZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBl cnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5 cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIK fCAjZW5kaWYKfCBjaGFyIF9vc3NfaW9jdGwgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1 cm4gX29zc19pb2N0bCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjg1ODI6 IHJlc3VsdDogbm8KY29uZmlndXJlOjg2MDI6IGNoZWNraW5nIGZvciBhbHNhID49IDEuMC4wCmNv bmZpZ3VyZTo4NjIwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgbGlu dXgvdmVyc2lvbi5oCmNvbmZpZ3VyZTo4NzE5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NjM6Mjc6IGVycm9yOiBsaW51eC92ZXJzaW9uLmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjg3MTk6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJl bWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVT X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19T VEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVB REVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxz ZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5k aWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19I RUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8 ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lO VFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VO SVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8bGlu dXgvdmVyc2lvbi5oPgpjb25maWd1cmU6ODcxOTogcmVzdWx0OiBubwpjb25maWd1cmU6ODcxOTog Y2hlY2tpbmcgZm9yIHN5cy9zeXN0ZW1pbmZvLmgKY29uZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo2MzoyODogZXJyb3I6 IHN5cy9zeXN0ZW1pbmZvLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjg3 MTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRh cndpbiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lm ZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRl IDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMg aWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGlu Y2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYK fCAKfCAjaW5jbHVkZSA8c3lzL3N5c3RlbWluZm8uaD4KY29uZmlndXJlOjg3MTk6IHJlc3VsdDog bm8KY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBzdGRpb19leHQuaApjb25maWd1cmU6ODcx OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OjYzOjIzOiBlcnJvcjogc3RkaW9fZXh0Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29u ZmlndXJlOjg3MTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdF ICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9Q T1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19F WFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9D X1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVN X1RZUEUgImRhcndpbiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlv Lmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+ CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMg IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ TkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllf SAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4K fCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8c3RkaW9fZXh0Lmg+CmNvbmZpZ3VyZTo4NzE5OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgZmNudGwuaApjb25maWd1cmU6ODcx OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODcxOTog Y2hlY2tpbmcgZm9yIGNvZmYuaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjY0OjE4OiBlcnJvcjogY29mZi5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo4NzE5OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZF X0ZDTlRMX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4K fCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGlu Y2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19I CnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwg IyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNl bmRpZgp8IAp8ICNpbmNsdWRlIDxjb2ZmLmg+CmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgcHR5LmgKY29uZmlndXJlOjg3MTk6IGdjYyAtc3Rk PWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo2NDoxNzogZXJy b3I6IHB0eS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo4NzE5OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAj ZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAj ZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lz L3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJ Ql9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZF X01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8 c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxz dHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8 c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVu aXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxwdHkuaD4KY29uZmlndXJlOjg3MTk6IHJl c3VsdDogbm8KY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBzeXMvdmxpbWl0LmgKY29uZmln dXJlOjg3MTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzo2NDoyNDogZXJyb3I6IHN5cy92bGltaXQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQpjb25maWd1cmU6ODcxOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZ UEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZ U19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENf SEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAj ZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg ZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1RE Q19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5o Pgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8 c3lzL3ZsaW1pdC5oPgpjb25maWd1cmU6ODcxOTogcmVzdWx0OiBubwpjb25maWd1cmU6ODcxOTog Y2hlY2tpbmcgZm9yIHN5cy9yZXNvdXJjZS5oCmNvbmZpZ3VyZTo4NzE5OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzE5OiAkPyA9IDAKY29u ZmlndXJlOjg3MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3Igc3lz L3V0c25hbWUuaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIHB3ZC5oCmNvbmZpZ3VyZTo4NzE5 OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4 NzE5OiAkPyA9IDAKY29uZmlndXJlOjg3MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBj aGVja2luZyBmb3IgdXRtcC5oCmNvbmZpZ3VyZTo4NzE5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMg LU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzE5OiAkPyA9IDAKY29uZmlndXJlOjg3 MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgZGlyZW50LmgKY29u ZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjg3MTk6ICQ/ID0gMApjb25maWd1cmU6ODcxOTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjg3MTk6IGNoZWNraW5nIGZvciB1dGlsLmgKY29uZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjg3MTk6ICQ/ID0gMApj b25maWd1cmU6ODcxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBz eXMvc29ja2V0LmgKY29uZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjg3MTk6ICQ/ID0gMApjb25maWd1cmU6ODcxOTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6 ODcxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciB1bmlzdGQuaApj b25maWd1cmU6ODcxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBz eXMvcGFyYW0uaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIHB0aHJlYWQuaApjb25maWd1cmU6 ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODcx OTogY2hlY2tpbmcgZm9yIG1hbGxvYy9tYWxsb2MuaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9 Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODcxOTogJD8gPSAw CmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9y IG1haWxsb2NrLmgKY29uZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3NjoyMjogZXJyb3I6IG1haWxsb2NrLmg6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjg3MTk6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAy NC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIu NTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNO VExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9T WVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg U1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5l ZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNs dWRlIDxtYWlsbG9jay5oPgpjb25maWd1cmU6ODcxOTogcmVzdWx0OiBubwpjb25maWd1cmU6ODcx OTogY2hlY2tpbmcgZm9yIHN5cy91bi5oCmNvbmZpZ3VyZTo4NzE5OiBnY2MgLXN0ZD1nbnU5OSAt YyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzE5OiAkPyA9IDAKY29uZmln dXJlOjg3MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgZXhlY2lu Zm8uaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHll cwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIGdldG9wdC5oCmNvbmZpZ3VyZTo4NzE5OiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzE5 OiAkPyA9IDAKY29uZmlndXJlOjg3MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBjaGVj a2luZyBmb3Igc3lzL3RpbWUuaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4 NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIHdjaGFyLmgKY29u ZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjg3MTk6ICQ/ID0gMApjb25maWd1cmU6ODcxOTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjg3MTk6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6ODcxOTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo4NzE5 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIHN5cy9zZWxlY3QuaApj b25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmgKY29uZmlndXJlOjg3MTk6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgdXRpbWUuaApjb25maWd1cmU6ODcx OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODc1ODog Y2hlY2tpbmcgaWYgcGVyc29uYWxpdHkgTElOVVgzMiBjYW4gYmUgc2V0CmNvbmZpZ3VyZTo4Nzcx OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 NTI6Mjk6IGVycm9yOiBzeXMvcGVyc29uYWxpdHkuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NTY6IHdhcm5pbmc6 IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdwZXJzb25hbGl0eScKY29uZnRlc3Qu Yzo1NjogZXJyb3I6ICdQRVJfTElOVVgzMicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCmNvbmZ0ZXN0LmM6NTY6IGVycm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlCmNvbmZ0ZXN0LmM6NTY6IGVycm9yOiBmb3IgZWFjaCBm dW5jdGlvbiBpdCBhcHBlYXJzIGluLikKY29uZmlndXJlOjg3NzE6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFj cyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVf RkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRN UF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3BlcnNvbmFsaXR5Lmg+CnwgaW50CnwgbWFpbiAoKQp8 IHsKfCBwZXJzb25hbGl0eSAoUEVSX0xJTlVYMzIpCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZTo4Nzc3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4Nzg4OiBjaGVja2luZyBmb3IgdGVy bS5oCmNvbmZpZ3VyZTo4Nzg4OiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25maWd1cmU6ODc4ODog JD8gPSAwCmNvbmZpZ3VyZTo4Nzg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODc5ODogY2hlY2tp bmcgd2hldGhlciB0aW1lLmggYW5kIHN5cy90aW1lLmggbWF5IGJvdGggYmUgaW5jbHVkZWQKY29u ZmlndXJlOjg4MTg6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjg4MTg6ICQ/ID0gMApjb25maWd1cmU6ODgyNTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjg4MzM6IGNoZWNraW5nIHdoZXRoZXIgc3lzX3NpZ2xpc3QgaXMgZGVjbGFyZWQKY29uZmln dXJlOjg4MzM6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjk0OiBlcnJvcjogJ3N5c19z aWdsaXN0JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZnRlc3Qu Yzo5NDogZXJyb3I6IChFYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5 IG9uY2UKY29uZnRlc3QuYzo5NDogZXJyb3I6IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMg aW4uKQpjb25maWd1cmU6ODgzMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9I CnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3Ry aW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJp bmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3Rk aW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBzeXNfc2lnbGlzdAp8 ICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgKHZvaWQpIHN5c19zaWdsaXN0Owp8ICNlbHNlCnwgICAo dm9pZCkgc3lzX3NpZ2xpc3Q7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZTo4ODMzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4ODQ2OiBjaGVja2lu ZyB3aGV0aGVyIF9fc3lzX3NpZ2xpc3QgaXMgZGVjbGFyZWQKY29uZmlndXJlOjg4NDY6IGdjYyAt c3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjk1OiBlcnJvcjogJ19fc3lzX3NpZ2xpc3QnIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjk1OiBlcnJvcjog KEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpjb25mdGVz dC5jOjk1OiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCmNvbmZpZ3Vy ZTo4ODQ2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1h Y3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5l IEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8 ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRf SAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJT CnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwg IyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURF UlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBl bmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H U19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQ RVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJ TlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1RE X0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7Cnwg I2lmbmRlZiBfX3N5c19zaWdsaXN0CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgX19z eXNfc2lnbGlzdDsKfCAjZWxzZQp8ICAgKHZvaWQpIF9fc3lzX3NpZ2xpc3Q7CnwgI2VuZGlmCnwg I2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo4ODQ2OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZTo4ODYzOiBjaGVja2luZyBmb3Igc3lzL3dhaXQuaCB0aGF0IGlzIFBPU0lY LjEgY29tcGF0aWJsZQpjb25maWd1cmU6ODg4OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODg4OTogJD8gPSAwCmNvbmZpZ3VyZTo4ODk2OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6ODkwNTogY2hlY2tpbmcgZm9yIHNwZWVkX3QKY29uZmlndXJl Ojg5MjE6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjg5MjE6ICQ/ID0gMApjb25maWd1cmU6ODkyODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg5 NDE6IGNoZWNraW5nIGZvciBuZXQvaWYuaApjb25maWd1cmU6ODk0MTogZ2NjIC1zdGQ9Z251OTkg LWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODk0MTogJD8gPSAwCmNvbmZp Z3VyZTo4OTQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODk1NzogY2hlY2tpbmcgZm9yIGlmYWRk cnMuaApjb25maWd1cmU6ODk1NzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6ODk1NzogJD8gPSAwCmNvbmZpZ3VyZTo4OTU3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6ODk3MzogY2hlY2tpbmcgZm9yIG5ldC9pZl9kbC5oCmNvbmZpZ3VyZTo4OTcz OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4 OTczOiAkPyA9IDAKY29uZmlndXJlOjg5NzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4OTg4OiBj aGVja2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9mbGFncwpjb25maWd1cmU6ODk4ODogZ2NjIC1z dGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODk4ODogJD8g PSAwCmNvbmZpZ3VyZTo4OTg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTAwNDogY2hlY2tpbmcg Zm9yIHN0cnVjdCBpZnJlcS5pZnJfaHdhZGRyCmNvbmZpZ3VyZTo5MDA0OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoxMDY6IGVycm9yOiAnc3RydWN0IGlmcmVxJyBoYXMgbm8gbWVtYmVy IG5hbWVkICdpZnJfaHdhZGRyJwpjb25maWd1cmU6OTAwNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41 MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NP VVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05U TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1f SCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05F VF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBT VERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVf U1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFW RV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5pZnJf aHdhZGRyKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6OTAw NDogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTA2OiBlcnJvcjogJ3N0cnVjdCBpZnJl cScgaGFzIG5vIG1lbWJlciBuYW1lZCAnaWZyX2h3YWRkcicKY29uZmlndXJlOjkwMDQ6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAj ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0Nf TUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJ TkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9U IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4K fCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGlu Y2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19I CnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwg IyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNl bmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Cnwg I2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7Cnwg aWYgKHNpemVvZiBhY19hZ2dyLmlmcl9od2FkZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZTo5MDA0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5MDIwOiBjaGVj a2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9uZXRtYXNrCmNvbmZpZ3VyZTo5MDIwOiBnY2MgLXN0 ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDY6IGVycm9yOiAnc3RydWN0IGlmcmVxJyBoYXMgbm8g bWVtYmVyIG5hbWVkICdpZnJfbmV0bWFzaycKY29uZmlndXJlOjkwMjA6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJl bWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhB VkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1Mg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNp ZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwg I2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKGFjX2Fn Z3IuaWZyX25ldG1hc2spCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZTo5MDIwOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDY6IGVycm9yOiAnc3Ry dWN0IGlmcmVxJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdpZnJfbmV0bWFzaycKY29uZmlndXJlOjkw MjA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRh cndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFE RFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfRkxBR1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9I CnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3Ry aW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJp bmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3Rk aW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29j a2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+ CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFj X2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLmlmcl9uZXRtYXNrKQp8IHJldHVybiAwOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6OTAyMDogcmVzdWx0OiBubwpjb25maWd1cmU6 OTAzNjogY2hlY2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5pZnJfYnJvYWRhZGRyCmNvbmZpZ3VyZTo5 MDM2OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDY6IGVycm9yOiB1c2VkIHN0cnVj dCB0eXBlIHZhbHVlIHdoZXJlIHNjYWxhciBpcyByZXF1aXJlZApjb25maWd1cmU6OTAzNjogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8 ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExP Q19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhF Q0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVE X1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5o Pgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg aW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBp bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H X0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gK fCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+Cnwg I2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4K fCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5k aWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsK fCBpZiAoYWNfYWdnci5pZnJfYnJvYWRhZGRyKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6OTAzNjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6OTAzNjogJD8gPSAwCmNvbmZpZ3VyZTo5MDM2OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6OTA1MjogY2hlY2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5pZnJfYWRkcgpj b25maWd1cmU6OTA1MjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTA3OiBlcnJvcjog dXNlZCBzdHJ1Y3QgdHlwZSB2YWx1ZSB3aGVyZSBzY2FsYXIgaXMgcmVxdWlyZWQKY29uZmlndXJl OjkwNTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu ZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9J RkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8 ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNl bmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5j bHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNs dWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gK fCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAj ICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2Vu ZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAj ZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5kaWYK fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBp ZiAoYWNfYWdnci5pZnJfYWRkcikKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjkwNTI6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjkwNTI6ICQ/ID0gMApjb25maWd1cmU6OTA1MjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjkwNjg6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZyX2FkZHIuc2FfbGVuCmNv bmZpZ3VyZTo5MDY4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZTo5MDY4OiAkPyA9IDAKY29uZmlndXJlOjkwNjg6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo5MDkyOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgTWFrZQpjb25maWd1 cmU6OTEwMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkxMDQ6IGNoZWNraW5nIHdoZXRoZXIgZ2Nj IHVuZGVyc3RhbmRzIC1NTUQgLU1GCmNvbmZpZ3VyZTo5MTE5OiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yIC1NTUQgLU1GIGRlcHMuZCAtTVAgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjkx MTk6ICQ/ID0gMApjb25maWd1cmU6OTEyODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkxNDg6IGNo ZWNraW5nIGZvciBsb25nIGZpbGUgbmFtZXMKY29uZmlndXJlOjkxODA6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo5MTk3OiBjaGVja2luZyBmb3IgWApjb25maWd1cmU6OTMwNTogZ2NjIC1FICAgIGNv bmZ0ZXN0LmMKY29uZnRlc3QuYzo2NjoyMjogZXJyb3I6IFgxMS9YbGliLmg6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjkzMDU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05B TUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8 ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZf RExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9M RU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8WDExL1hsaWIuaD4KY29uZmlndXJlOjkzMzY6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgID4mNSAKY29uZnRl c3QuYzo2NjoyMjogZXJyb3I6IFgxMS9YbGliLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK Y29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjcwOiB3YXJuaW5nOiBp bXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnWHJtSW5pdGlhbGl6ZScKY29uZmlndXJl OjkzMzY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu ZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9J RkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05H X0ZJTEVfTkFNRVMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8WDExL1hs aWIuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IFhybUluaXRpYWxpemUgKCkKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjkzODY6IHJlc3VsdDogbGlicmFyaWVzIC91c3IvWDExL2xp YiwgaGVhZGVycyAvdXNyL1gxMS9pbmNsdWRlCmNvbmZpZ3VyZTo5NTIwOiBjaGVja2luZyBBcHBL aXQvQXBwS2l0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo5NTIwOiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yIC14IG9iamVjdGl2ZS1jICAgICAteCBvYmplY3RpdmUtYyBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6OTUyMDogJD8gPSAwCmNvbmZpZ3VyZTo5NTIwOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6OTUyMDogY2hlY2tpbmcgQXBwS2l0L0FwcEtpdC5oIHByZXNlbmNlCmNvbmZpZ3VyZTo5NTIw OiBnY2MgLUUgICAgLXggb2JqZWN0aXZlLWMgY29uZnRlc3QuYwpjb25maWd1cmU6OTUyMDogJD8g PSAwCmNvbmZpZ3VyZTo5NTIwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTUyMDogY2hlY2tpbmcg Zm9yIEFwcEtpdC9BcHBLaXQuaApjb25maWd1cmU6OTUyMDogcmVzdWx0OiB5ZXMKY29uZmlndXJl Ojk1NDA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgLXggb2JqZWN0aXZlLWMgICAgIC14IG9i amVjdGl2ZS1jIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NTQwOiAkPyA9IDAKY29uZmlndXJl Ojk2OTQ6IGNoZWNraW5nIHdoZXRoZXIgbWFsbG9jIGlzIERvdWcgTGVhIHN0eWxlCmNvbmZpZ3Vy ZTo5NzEzOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5j ICA+JjUgCmNvbmZ0ZXN0LmM6Njg6MjA6IGVycm9yOiBtYWxsb2MuaDogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NzM6 IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtYWxsb2Nfc2V0X3N0 YXRlJwpjb25mdGVzdC5jOjczOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5j dGlvbiAnbWFsbG9jX2dldF9zdGF0ZScKY29uZnRlc3QuYzo3NDogZXJyb3I6ICdfX2FmdGVyX21v cmVjb3JlX2hvb2snIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25m dGVzdC5jOjc0OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVk IG9ubHkgb25jZQpjb25mdGVzdC5jOjc0OiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBw ZWFycyBpbi4pCmNvbmZ0ZXN0LmM6NzU6IGVycm9yOiAnX19tYWxsb2NfaW5pdGlhbGl6ZV9ob29r JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZmlndXJlOjk3MTM6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18g MQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1Mg MQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndp biIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9N QUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZF X0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9T UEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJT X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVf TkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgIm5zdGVybS5oIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bWFsbG9j Lmg+CnwgCSAgc3RhdGljIHZvaWQgaG9vayAodm9pZCkge30KfCBpbnQKfCBtYWluICgpCnwgewp8 IG1hbGxvY19zZXRfc3RhdGUgKG1hbGxvY19nZXRfc3RhdGUgKCkpOwp8IAkgIF9fYWZ0ZXJfbW9y ZWNvcmVfaG9vayA9IGhvb2s7CnwgCSAgX19tYWxsb2NfaW5pdGlhbGl6ZV9ob29rID0gaG9vazsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjk3MjE6IHJlc3VsdDogbm8KY29uZmln dXJlOjk3ODQ6IGNoZWNraW5nIGZvciBnZXRwYWdlc2l6ZQpjb25maWd1cmU6OTc4NDogZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAgPiY1IApjb25maWd1 cmU6OTc4NDogJD8gPSAwCmNvbmZpZ3VyZTo5Nzg0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTc5 MzogY2hlY2tpbmcgZm9yIHdvcmtpbmcgbW1hcApjb25maWd1cmU6OTk0MDogZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAgPiY1IApjb25maWd1cmU6OTk0 MDogJD8gPSAwCmNvbmZpZ3VyZTo5OTQwOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo5OTQwOiAkPyA9 IDAKY29uZmlndXJlOjk5NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5OTY4OiBjaGVja2luZyBm b3IgZG5ldF9udG9hIGluIC1sZG5ldApjb25maWd1cmU6OTk5MzogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAtbGRuZXQgICAgPiY1IApsZDogbGlicmFy eSBub3QgZm91bmQgZm9yIC1sZG5ldApjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1 cwpjb25maWd1cmU6OTk5MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4y LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBB Q0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxf VVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFS V0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBT WVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9I IDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1F X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2Rl ZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwg I2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBkbmV0X250b2EgKCk7CnwgaW50Cnwg bWFpbiAoKQp8IHsKfCByZXR1cm4gZG5ldF9udG9hICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MTAwMDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMDE0OiBjaGVja2luZyBm b3IgbWFpbiBpbiAtbFhic2QKY29uZmlndXJlOjEwMDMzOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1sWGJzZCAgICA+JjUgCmxkOiBsaWJyYXJ5IG5v dCBmb3VuZCBmb3IgLWxYYnNkCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNv bmZpZ3VyZToxMDAzMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNF X1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEK fCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmlu ZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2Rl ZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gbWFpbiAo KTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEwMDQyOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxMDA2MDogY2hlY2tpbmcgZm9yIHB0aHJlYWRfc2VsZiBpbiAtbHB0aHJlYWQKY29u ZmlndXJlOjEwMDg1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25m dGVzdC5jIC1scHRocmVhZCAgICA+JjUgCmNvbmZpZ3VyZToxMDA4NTogJD8gPSAwCmNvbmZpZ3Vy ZToxMDA5NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMTE0OiBjaGVja2luZyBmb3IgY21hX29w ZW4gaW4gLWxwdGhyZWFkcwpjb25maWd1cmU6MTAxMzk6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkcyAgLWxwdGhyZWFkICAgPiY1IAps ZDogbGlicmFyeSBub3QgZm91bmQgZm9yIC1scHRocmVhZHMKY29sbGVjdDI6IGxkIHJldHVybmVk IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEwMTM5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi Igp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8 ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEK fCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNO QU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05F VF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0Ff TEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVf TlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZ U1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4g ZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0 eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMi CnwgI2VuZGlmCnwgY2hhciBjbWFfb3BlbiAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVy biBjbWFfb3BlbiAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEwMTQ4OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDQxNzogY2hlY2tpbmcgZm9yIGxpYnJzdmctMi4wID49IDIu MTEuMApjb25maWd1cmU6MTA0MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwODA4OiBjaGVja2lu ZyBmb3IgZGJ1cy0xID49IDEuMApjb25maWd1cmU6MTA4MjY6IHJlc3VsdDogbm8KY29uZmlndXJl OjExMDgzOiBjaGVja2luZyBmb3IgbGdldGZpbGVjb24gaW4gLWxzZWxpbnV4CmNvbmZpZ3VyZTox MTEwODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAt bHNlbGludXggIC1scHRocmVhZCAgID4mNSAKbGQ6IGxpYnJhcnkgbm90IGZvdW5kIGZvciAtbHNl bGludXgKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjExMTA4 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3 aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVf TUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFW RV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxF Q1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19f U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERS U19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVB REVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBp bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZk ZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBsZ2V0ZmlsZWNvbiAo KTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBsZ2V0ZmlsZWNvbiAoKTsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExMTE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMTE0 NTogY2hlY2tpbmcgZm9yIGdudXRscyA+PSAyLjYuNgpjb25maWd1cmU6MTExNjM6IHJlc3VsdDog bm8KY29uZmlndXJlOjExMTk4OiBjaGVja2luZyBmb3IgZ251dGxzX2NlcnRpZmljYXRlX3NldF92 ZXJpZnlfZnVuY3Rpb24KY29uZmlndXJlOjExMTk4OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVz dCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAgLWxwdGhyZWFkICAgPiY1IApVbmRlZmluZWQgc3lt Ym9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NDoKICAiX2dudXRsc19jZXJ0aWZpY2F0ZV9zZXRf dmVyaWZ5X2Z1bmN0aW9uIiwgcmVmZXJlbmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBjYzdJTmJM Si5vCmxkOiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0CmNvbGxl Y3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTE5ODogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmlu ZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZp bmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxM T0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9f SCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNU IDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9G TEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwg I2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJt LmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3Zlcmlm eV9mdW5jdGlvbiB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRl Y2xhcmVzIGdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfdmVyaWZ5X2Z1bmN0aW9uLgp8ICAgIEZvciBl eGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8 ICNkZWZpbmUgZ251dGxzX2NlcnRpZmljYXRlX3NldF92ZXJpZnlfZnVuY3Rpb24gaW5ub2N1b3Vz X2dudXRsc19jZXJ0aWZpY2F0ZV9zZXRfdmVyaWZ5X2Z1bmN0aW9uCnwgCnwgLyogU3lzdGVtIGhl YWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz LAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdudXRsc19jZXJ0aWZpY2F0ZV9z ZXRfdmVyaWZ5X2Z1bmN0aW9uICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8g PGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+ IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBf X1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2Vy dC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3ZlcmlmeV9m dW5jdGlvbgp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ251dGxzX2NlcnRpZmljYXRlX3NldF92ZXJpZnlfZnVu Y3Rpb24gKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRp bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVm aW5lZCBfX3N0dWJfZ251dGxzX2NlcnRpZmljYXRlX3NldF92ZXJpZnlfZnVuY3Rpb24gfHwgZGVm aW5lZCBfX3N0dWJfX19nbnV0bHNfY2VydGlmaWNhdGVfc2V0X3ZlcmlmeV9mdW5jdGlvbgp8IGNo b2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZ251dGxzX2Nl cnRpZmljYXRlX3NldF92ZXJpZnlfZnVuY3Rpb24gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZToxMTE5ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTE2OTg6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NzQ6MjU6IGVycm9y OiBYMTEvWGxpYi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZ0ZXN0LmM6NzU6MzA6 IGVycm9yOiBYMTEvWHJlc291cmNlLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZnRl c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjc5OiBlcnJvcjogJ1hJTVByb2Mn IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjc5OiBl cnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpj b25mdGVzdC5jOjc5OiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCmNv bmZ0ZXN0LmM6Nzk6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3JlICdjYWxsYmFjaycKY29uZmln dXJlOjExNjk4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVm aW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgCnwgCSAgI2luY2x1ZGUgPFgxMS9YbGliLmg+CnwgCSAgI2luY2x1 ZGUgPFgxMS9YcmVzb3VyY2UuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IFhJTVByb2MgIGNhbGxi YWNrOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTI3MDA6IGNoZWNraW5nIGdw bS5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTI3MDA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIg ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MTA3OjE3OiBlcnJvcjogZ3BtLmg6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjEyNzAwOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4y LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5T X0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMg aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8 ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBp ZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRp Zgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19I CnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNf SAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRf SAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gK fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxncG0uaD4KY29uZmln dXJlOjEyNzAwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjcwMDogY2hlY2tpbmcgZ3BtLmggcHJl c2VuY2UKY29uZmlndXJlOjEyNzAwOiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjc0 OjE3OiBlcnJvcjogZ3BtLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjEy NzAwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3Mi CnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJk YXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhB VkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUg SEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T RUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN RSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZB RERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9B REFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19G SUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1f SEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9Y SU0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8Z3BtLmg+CmNvbmZpZ3Vy ZToxMjcwMDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI3MDA6IGNoZWNraW5nIGZvciBncG0uaApj b25maWd1cmU6MTI3MDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyODYxOiBjaGVja2luZyBmb3Ig bGlieG1sLTIuMCA+IDIuNi4xNwpjb25maWd1cmU6MTI4Nzk6IHJlc3VsdDogbm8KY29uZmlndXJl OjEyOTYyOiBjaGVja2luZyB3aGV0aGVyIG5ldGRiIGRlY2xhcmVzIGhfZXJybm8KY29uZmlndXJl OjEyOTc4OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3Qu YyAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTI5Nzg6ICQ/ID0gMApjb25maWd1cmU6MTI5 ODY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjk5NjogY2hlY2tpbmcgZm9yIHNxcnQgaW4gLWxt CmNvbmZpZ3VyZToxMzAyMTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAg IGNvbmZ0ZXN0LmMgLWxtICAgLWxwdGhyZWFkICAgPiY1IApjb25mdGVzdC5jOjg0OiB3YXJuaW5n OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3NxcnQnCmNvbmZpZ3Vy ZToxMzAyMTogJD8gPSAwCmNvbmZpZ3VyZToxMzAzMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEz MDQ0OiBjaGVja2luZyBmb3IgbWFpbGxvY2sgaW4gLWxtYWlsCmNvbmZpZ3VyZToxMzA2OTogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtYWlsICAt bG0gIC1scHRocmVhZCAgID4mNSAKbGQ6IGxpYnJhcnkgbm90IGZvdW5kIGZvciAtbG1haWwKY29s bGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEzMDY5OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVm aW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVm aW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01B TExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5G T19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJ U1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEK fCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rl cm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVm aW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9F UlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAK fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj ZW5kaWYKfCBjaGFyIG1haWxsb2NrICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG1h aWxsb2NrICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTMwNzg6IHJlc3Vs dDogbm8KY29uZmlndXJlOjEzMDk1OiBjaGVja2luZyBmb3IgbWFpbGxvY2sgaW4gLWxsb2NrZmls ZQpjb25maWd1cmU6MTMxMjA6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAg ICBjb25mdGVzdC5jIC1sbG9ja2ZpbGUgIC1sbSAgLWxwdGhyZWFkICAgPiY1IApsZDogbGlicmFy eSBub3QgZm91bmQgZm9yIC1sbG9ja2ZpbGUKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBz dGF0dXMKY29uZmlndXJlOjEzMTIwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VS IDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19J TVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0g MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVy bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGlu dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRl ZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIG1haWxsb2NrICgpOwp8 IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG1haWxsb2NrICgpOwp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6MTMxMjk6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMTQ5OiBjaGVj a2luZyBmb3IgbGlibG9ja2ZpbGUuc28KY29uZmlndXJlOjEzMTc4OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIGdldGhvc3RuYW1lCmNvbmZpZ3VyZToxMzI1NzogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0 aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgY2xvc2VkaXIKY29uZmlndXJl OjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3Qu YyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJl OjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZvciBnZXRydXNh Z2UKY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAg ICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9 IDAKY29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5n IGZvciBnZXRfY3VycmVudF9kaXJfbmFtZQpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5 IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1 IApVbmRlZmluZWQgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NDoKICAiX2dldF9jdXJy ZW50X2Rpcl9uYW1lIiwgcmVmZXJlbmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBjY1R0eFdTUS5v CmxkOiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0CmNvbGxlY3Qy OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUg SEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW RV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0Nf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAx CnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFH UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2Rl ZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgi CnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBV U0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhB VkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8g MQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVm aW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBn ZXRfY3VycmVudF9kaXJfbmFtZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGlt aXRzLmg+IGRlY2xhcmVzIGdldF9jdXJyZW50X2Rpcl9uYW1lLgp8ICAgIEZvciBleGFtcGxlLCBI UC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUg Z2V0X2N1cnJlbnRfZGlyX25hbWUgaW5ub2N1b3VzX2dldF9jdXJyZW50X2Rpcl9uYW1lCnwgCnwg LyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZl dyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldF9jdXJy ZW50X2Rpcl9uYW1lICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2Vy dC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0 cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENf Xwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8 ICNlbmRpZgp8IAp8ICN1bmRlZiBnZXRfY3VycmVudF9kaXJfbmFtZQp8IAp8IC8qIE92ZXJyaWRl IGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs eS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIg Z2V0X2N1cnJlbnRfZGlyX25hbWUgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ2V0X2N1cnJlbnRfZGlyX25hbWUgfHwgZGVmaW5l ZCBfX3N0dWJfX19nZXRfY3VycmVudF9kaXJfbmFtZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZ2V0X2N1cnJlbnRfZGlyX25hbWUgKCk7CnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiBubwpjb25maWd1cmU6 MTMyNTc6IGNoZWNraW5nIGZvciBscmFuZDQ4CmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+ JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3Igc2V0c2lkCmNvbmZpZ3VyZToxMzI1NzogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0 aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgZnBhdGhjb25mCmNvbmZpZ3Vy ZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0 LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3Vy ZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3Igc2VsZWN0 CmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAg IGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAw CmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBm b3IgZXVpZGFjY2Vzcwpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApVbmRlZmluZWQg c3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NDoKICAiX2V1aWRhY2Nlc3MiLCByZWZlcmVu Y2VkIGZyb206CiAgICAgIF9tYWluIGluIGNjUVJaZko2Lm8KbGQ6IHN5bWJvbChzKSBub3QgZm91 bmQgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBz dGF0dXMKY29uZmlndXJlOjEzMjU3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VS IDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19J TVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0g MQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBI QVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IC8qIERlZmluZSBldWlkYWNjZXNzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBp biBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZXVpZGFjY2Vzcy4KfCAgICBGb3IgZXhhbXBsZSwg SFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5l IGV1aWRhY2Nlc3MgaW5ub2N1b3VzX2V1aWRhY2Nlc3MKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRv IGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAg IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZXVpZGFjY2VzcyAoKTsgYmVsb3cuCnwgICAg IFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwg c2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGls ZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNl bHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZXVpZGFjY2Vz cwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu IGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJD Igp8ICNlbmRpZgp8IGNoYXIgZXVpZGFjY2VzcyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBk ZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFs d2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVk CnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMg YW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9ldWlkYWNjZXNzIHx8IGRlZmluZWQg X19zdHViX19fZXVpZGFjY2Vzcwp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCByZXR1cm4gZXVpZGFjY2VzcyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjEzMjU3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIGdl dHBhZ2VzaXplCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBj aGVja2luZyBmb3Igc2V0bG9jYWxlCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNv bmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjEzMjU3OiBjaGVja2luZyBmb3IgdXRpbWVzCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQg ICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgZ2V0cmxpbWl0CmNvbmZpZ3VyZToxMzI1 NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxt ICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1 NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3Igc2V0cmxpbWl0CmNv bmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNv bmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNv bmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3Ig c2V0cGdpZApjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAt TzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMyNTc6 ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1NzogY2hl Y2tpbmcgZm9yIGdldGN3ZApjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1 cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox MzI1NzogY2hlY2tpbmcgZm9yIHNodXRkb3duCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+ JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgZ2V0YWRkcmluZm8KY29uZmlndXJlOjEzMjU3 OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0g IC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZvciBfX2ZwZW5kaW5nCmNv bmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNv bmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgClVuZGVmaW5lZCBzeW1ib2xzIGZvciBhcmNo aXRlY3R1cmUgeDg2XzY0OgogICJfX19mcGVuZGluZyIsIHJlZmVyZW5jZWQgZnJvbToKICAgICAg X21haW4gaW4gY2NlM3p5c2EubwpsZDogc3ltYm9sKHMpIG5vdCBmb3VuZCBmb3IgYXJjaGl0ZWN0 dXJlIHg4Nl82NApjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6 MTMyNTc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu ZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9J RkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05H X0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVS TV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNF X1hJTSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNk ZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlM X1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVf Q0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFO RDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERP V04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8IC8qIERlZmluZSBfX2ZwZW5kaW5nIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl IDxsaW1pdHMuaD4gZGVjbGFyZXMgX19mcGVuZGluZy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVgg MTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIF9fZnBl bmRpbmcgaW5ub2N1b3VzX19fZnBlbmRpbmcKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX19mcGVuZGluZyAoKTsgYmVsb3cuCnwgICAgIFByZWZl ciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UK fCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAg Ki8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwg IyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgX19mcGVuZGluZwp8IAp8 IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y Lgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNl bmRpZgp8IGNoYXIgX19mcGVuZGluZyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBm YWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAg IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp YXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9fX2ZwZW5kaW5nIHx8IGRlZmluZWQgX19zdHVi X19fX19mcGVuZGluZwp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCByZXR1cm4gX19mcGVuZGluZyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjEzMjU3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIHN0cnNpZ25h bApjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAg ICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0g MApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcg Zm9yIHNldGl0aW1lcgpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6 MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1 NzogY2hlY2tpbmcgZm9yIHNlbmR0bwpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApj b25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIHJlY3Zmcm9tCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJl YWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgZ2V0c29ja25hbWUKY29uZmlndXJl OjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3Qu YyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJl OjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZvciBnZXRwZWVy bmFtZQpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIg ICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tp bmcgZm9yIGdldGlmYWRkcnMKY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmln dXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTMyNTc6IGNoZWNraW5nIGZvciBmcmVlaWZhZGRycwpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFk ICAgPiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIGdhaV9zdHJlcnJvcgpjb25maWd1cmU6 MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5j IC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6 MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIG1rc3RlbXAK Y29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAg Y29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAK Y29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZv ciBnZXRsaW5lCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWcz IC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1 NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBj aGVja2luZyBmb3IgZ2V0ZGVsaW0KY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29u ZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTMyNTc6IGNoZWNraW5nIGZvciBmc3luYwpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAg PiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIHN5bmMKY29uZmlndXJlOjEzMjU3OiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRo cmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZvciBkaWZmdGltZQpjb25maWd1cmU6 MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5j IC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6 MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIHBvc2l4X21l bWFsaWduCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1P MiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1Nzog JD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVj a2luZyBmb3IgZ2V0cHdlbnQKY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmln dXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTMyNTc6IGNoZWNraW5nIGZvciBlbmRwd2VudApjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAg PiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIGdldGdyZW50CmNvbmZpZ3VyZToxMzI1Nzog Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAt bHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1Nzog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgZW5kZ3JlbnQKY29uZmln dXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRl c3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmln dXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZvciB0b3Vj aGxvY2sKY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8y ICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKVW5kZWZpbmVkIHN5bWJvbHMg Zm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQ6CiAgIl90b3VjaGxvY2siLCByZWZlcmVuY2VkIGZyb206 CiAgICAgIF9tYWluIGluIGNjRHVvQUl5Lm8KbGQ6IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFy Y2hpdGVjdHVyZSB4ODZfNjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29u ZmlndXJlOjEzMjU3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0Vf UE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5l IEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVm aW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09B IDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRI Q09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9T VFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5E VE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwg I2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUg SEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJ WF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5U IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHRvdWNobG9jayB0byBhbiBp bm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHRvdWNobG9jay4K fCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9m ZGF5LiAgKi8KfCAjZGVmaW5lIHRvdWNobG9jayBpbm5vY3VvdXNfdG91Y2hsb2NrCnwgCnwgLyog U3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBw cm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHRvdWNobG9jayAo KTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERD X18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVl c3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUg PGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAj dW5kZWYgdG91Y2hsb2NrCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciB0b3VjaGxvY2sgKCk7CnwgLyogVGhlIEdO VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50 cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh Y3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfdG91Y2hsb2Nr IHx8IGRlZmluZWQgX19zdHViX19fdG91Y2hsb2NrCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IHJldHVybiB0b3VjaGxvY2sgKCk7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiBubwpjb25maWd1cmU6MTMyNTc6IGNoZWNr aW5nIGZvciBjZm1ha2VyYXcKY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmln dXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTMyNTc6IGNoZWNraW5nIGZvciBjZnNldHNwZWVkCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQg ICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgY29weXNpZ24KY29uZmlndXJlOjEzMjU3 OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0g IC1scHRocmVhZCAgID4mNSAKY29uZnRlc3QuYzoxNDA6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5 cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnY29weXNpZ24nCmNvbmZpZ3VyZToxMzI1NzogJD8g PSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2lu ZyBmb3IgX19leGVjdXRhYmxlX3N0YXJ0CmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUg ClVuZGVmaW5lZCBzeW1ib2xzIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0OgogICJfX19leGVjdXRh YmxlX3N0YXJ0IiwgcmVmZXJlbmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBjY3VxTXhPZi5vCmxk OiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0CmNvbGxlY3QyOiBs ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFW RV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9V VE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwg I2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0Vf VE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVf TlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9T RVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUg SEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAx CnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJ RkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9H RVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAx CnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBfX2V4ZWN1dGFibGVfc3RhcnQgdG8g YW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBfX2V4ZWN1 dGFibGVfc3RhcnQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xh cmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBfX2V4ZWN1dGFibGVfc3RhcnQgaW5ub2N1 b3VzX19fZXhlY3V0YWJsZV9zdGFydAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2Fu IGNvbmZsaWN0IHdpdGggY2hhciBfX2V4ZWN1dGFibGVfc3RhcnQgKCk7IGJlbG93Lgp8ICAgICBQ cmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNp bmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVy cy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxz ZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIF9fZXhlY3V0YWJs ZV9zdGFydAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgX19leGVjdXRhYmxlX3N0YXJ0ICgpOwp8IC8qIFRoZSBH TlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVu dHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUg YWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBu b3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX19fZXhlY3V0 YWJsZV9zdGFydCB8fCBkZWZpbmVkIF9fc3R1Yl9fX19fZXhlY3V0YWJsZV9zdGFydAp8IGNob2tl IG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gX19leGVjdXRhYmxl X3N0YXJ0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTMyNTc6IHJlc3Vs dDogbm8KY29uZmlndXJlOjEzMjc0OiBjaGVja2luZyBmb3IgZ2V0d2QKY29uZmlndXJlOjEzMjc0 OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0g IC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjc0OiAkPyA9IDAKY29uZmlndXJlOjEzMjc0 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyOTY6IGNoZWNraW5nIGZvciByYW5kb20KY29uZmln dXJlOjEzMjk2OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRl c3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjk2OiAkPyA9IDAKY29uZmln dXJlOjEzMjk2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyOTY6IGNoZWNraW5nIGZvciByaW50 CmNvbmZpZ3VyZToxMzI5NjogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAg IGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZ0ZXN0LmM6MTQzOiB3YXJuaW5n OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3JpbnQnCmNvbmZpZ3Vy ZToxMzI5NjogJD8gPSAwCmNvbmZpZ3VyZToxMzI5NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEz MzA3OiBjaGVja2luZyBmb3IgX19idWlsdGluX3Vud2luZF9pbml0CmNvbmZpZ3VyZToxMzMyMzog Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAt bHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzMyMzogJD8gPSAwCmNvbmZpZ3VyZToxMzMzMTog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMzQzOiBjaGVja2luZyBmb3IgX0xBUkdFRklMRV9TT1VS Q0UgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6MTMzNjI6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFk ICAgPiY1IApjb25maWd1cmU6MTMzNjI6ICQ/ID0gMApjb25maWd1cmU6MTMzOTA6IHJlc3VsdDog bm8KY29uZmlndXJlOjEzNDEyOiBjaGVja2luZyB3aGV0aGVyIGdldHBncnAgcmVxdWlyZXMgemVy byBhcmd1bWVudHMKY29uZmlndXJlOjEzNDI5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAg ICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0 LmM6MTU5OiBlcnJvcjogdG9vIG1hbnkgYXJndW1lbnRzIHRvIGZ1bmN0aW9uICdnZXRwZ3JwJwpj b25maWd1cmU6MTM0Mjk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNL QUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VT RV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8 ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAx CnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp bmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUg SEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNk ZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNk ZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09D T0EgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUg SEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBB VEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NF TkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQURE UlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF UlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEK fCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVE IDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2Rl ZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERD X0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkK fCB7CnwgZ2V0cGdycCAoMCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMzQz NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDQ5OiBjaGVja2luZyBmb3IgZ3JhbnRwdApjb25m aWd1cmU6MTM0NDk6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25m dGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTM0NDk6ICQ/ID0gMApjb25m aWd1cmU6MTM0NDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ2MzogY2hlY2tpbmcgZm9yIGdl dHB0CmNvbmZpZ3VyZToxMzQ2MzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAg ICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgClVuZGVmaW5lZCBzeW1ib2xzIGZv ciBhcmNoaXRlY3R1cmUgeDg2XzY0OgogICJfZ2V0cHQiLCByZWZlcmVuY2VkIGZyb206CiAgICAg IF9tYWluIGluIGNjOGxpRXR2Lm8KbGQ6IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFyY2hpdGVj dHVyZSB4ODZfNjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl OjEzNDYzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1h Y3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5l IEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVf SUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9C Uk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJ TF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAj ZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmlu ZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1B TElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2Rl ZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFW RV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBf Vk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAvKiBEZWZpbmUgZ2V0cHQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0 cy5oPiBkZWNsYXJlcyBnZXRwdC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMu aD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGdldHB0IGlubm9jdW91c19n ZXRwdAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhv cGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hh ciBnZXRwdCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4g aWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZl biBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAj IGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5k aWYKfCAKfCAjdW5kZWYgZ2V0cHQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGdldHB0ICgpOwp8IC8qIFRoZSBH TlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVu dHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUg YWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBu b3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2dldHB0IHx8 IGRlZmluZWQgX19zdHViX19fZ2V0cHQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1h aW4gKCkKfCB7CnwgcmV0dXJuIGdldHB0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MTM0NjM6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzNDYzOiBjaGVja2luZyBmb3IgcG9z aXhfb3BlbnB0CmNvbmZpZ3VyZToxMzQ2MzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWcz IC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzQ2 MzogJD8gPSAwCmNvbmZpZ3VyZToxMzQ2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDc4OiBj aGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHRwdXRzCmNvbmZpZ3VyZToxMzUzMTogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0 aHJlYWQgICA+JjUgClVuZGVmaW5lZCBzeW1ib2xzIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0Ogog ICJfdHB1dHMiLCByZWZlcmVuY2VkIGZyb206CiAgICAgIF9tYWluIGluIGNjMENwbnMwLm8KbGQ6 IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQKY29sbGVjdDI6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEzNTMxOiAkPyA9IDEKY29uZmlndXJl OiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVm aW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9Q T1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUg SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwg I2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdF UiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFM TE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFS UyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNf SU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJN IDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUg MQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwg I2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUg SEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VU SU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNk ZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVm aW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5l IEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9H RVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVf R0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dF VExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdE IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgICBleHRl cm4gdm9pZCB0cHV0cyAoY29uc3QgY2hhciAqLCBpbnQsIGludCAoKikoaW50KSk7CnwgICAgICAg IGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCnwgICAgICAgIHsKfCAJICBpZiAoYXJn YyA9PSAxMDAwMCkKfCAJICAgIHRwdXRzIChhcmd2WzBdLCAwLCAwKTsKfCAJICByZXR1cm4gMDsK fCAgICAgICAgfQp8IApjb25maWd1cmU6MTM1MzE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sdGluZm8gLWxtICAtbHB0aHJlYWQgICA+JjUgCmxk OiBsaWJyYXJ5IG5vdCBmb3VuZCBmb3IgLWx0aW5mbwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBl eGl0IHN0YXR1cwpjb25maWd1cmU6MTM1MzE6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhp dGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVm aW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVf TFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09O RiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NI VVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJT SUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8g MQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEK fCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig MQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9N RU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwg I2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlM VElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBH UlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgIGV4dGVybiB2b2lkIHRwdXRz IChjb25zdCBjaGFyICosIGludCwgaW50ICgqKShpbnQpKTsKfCAgICAgICAgaW50IG1haW4gKGlu dCBhcmdjLCBjaGFyICoqYXJndikKfCAgICAgICAgewp8IAkgIGlmIChhcmdjID09IDEwMDAwKQp8 IAkgICAgdHB1dHMgKGFyZ3ZbMF0sIDAsIDApOwp8IAkgIHJldHVybiAwOwp8ICAgICAgICB9Cnwg CmNvbmZpZ3VyZToxMzUzMTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAg IGNvbmZ0ZXN0LmMgLWxuY3Vyc2VzIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTM1 MzE6ICQ/ID0gMApjb25maWd1cmU6MTM1MzE6IC4vY29uZnRlc3QKY29uZmlndXJlOjEzNTMxOiAk PyA9IDAKY29uZmlndXJlOjEzNTQ1OiByZXN1bHQ6IC1sbmN1cnNlcwpjb25maWd1cmU6MTQ0MjE6 IGNoZWNraW5nIGZvciB0enNldApjb25maWd1cmU6MTQ0MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25m aWd1cmU6MTQ0MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0MjE6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNDQyMTogY2hlY2tpbmcgZm9yIHJlYWRsaW5rYXQKY29uZmlndXJlOjE0NDIxOiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVh ZCAgID4mNSAKVW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQ6CiAgIl9y ZWFkbGlua2F0IiwgcmVmZXJlbmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBjY1cxMzY0RC5vCmxk OiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0CmNvbGxlY3QyOiBs ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDQyMTogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFW RV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9V VE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwg I2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0Vf VE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVf TlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9T RVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUg SEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAx CnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJ RkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9H RVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAx CnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwg I2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9H UkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZP IDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBE ZWZpbmUgcmVhZGxpbmthdCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz Lmg+IGRlY2xhcmVzIHJlYWRsaW5rYXQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGlt aXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSByZWFkbGlua2F0IGlu bm9jdW91c19yZWFkbGlua2F0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29u ZmxpY3Qgd2l0aCBjaGFyIHJlYWRsaW5rYXQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0 cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxs aW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwg I2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVk ZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHJlYWRsaW5rYXQKfCAKfCAvKiBPdmVy cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBV c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBj aGFyIHJlYWRsaW5rYXQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRo IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhp bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8K fCAjaWYgZGVmaW5lZCBfX3N0dWJfcmVhZGxpbmthdCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3JlYWRs aW5rYXQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IHJlYWRsaW5rYXQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDQyMTog cmVzdWx0OiBubwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBnZXR0aW1lb2ZkYXkKY29u ZmlndXJlOjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29u ZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE0NDIxOiAkPyA9IDAKY29u ZmlndXJlOjE0NDIxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBu YW5vdGltZQpjb25maWd1cmU6MTQ0MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAt TzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApVbmRlZmluZWQgc3ltYm9s cyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NDoKICAiX25hbm90aW1lIiwgcmVmZXJlbmNlZCBmcm9t OgogICAgICBfbWFpbiBpbiBjY2RPWVRjTi5vCmxkOiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBh cmNoaXRlY3R1cmUgeDg2XzY0CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNv bmZpZ3VyZToxNDQyMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNF X1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEK fCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmlu ZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2Rl ZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2Rl ZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NP QSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVm aW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZp bmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBI QVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFU SENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFW RV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVf U1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VO RFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERS UyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVS Uk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5l IEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9T SVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VO RFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQg MQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVm aW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBH RVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9T SVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAv KiBEZWZpbmUgbmFub3RpbWUgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0 cy5oPiBkZWNsYXJlcyBuYW5vdGltZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1p dHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIG5hbm90aW1lIGlubm9j dW91c19uYW5vdGltZQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNy b3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0 IHdpdGggY2hhciBuYW5vdGltZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRv IDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5o PiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYg X19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3Nl cnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbmFub3RpbWUKfCAKfCAvKiBPdmVycmlkZSBhbnkg R0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBi ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWls dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq Lwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIG5hbm90 aW1lICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z IHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBT b21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5n IHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmlu ZWQgX19zdHViX25hbm90aW1lIHx8IGRlZmluZWQgX19zdHViX19fbmFub3RpbWUKfCBjaG9rZSBt ZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG5hbm90aW1lICgpOwp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ0MjE6IHJlc3VsdDogbm8KY29uZmln dXJlOjE0NDIxOiBjaGVja2luZyBmb3IgbHN0YXQKY29uZmlndXJlOjE0NDIxOiBnY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAg ID4mNSAKY29uZmlndXJlOjE0NDIxOiAkPyA9IDAKY29uZmlndXJlOjE0NDIxOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBhbGFybQpjb25maWd1cmU6MTQ0MjE6IGdj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxw dGhyZWFkICAgPiY1IApjb25maWd1cmU6MTQ0MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0MjE6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNDQyMTogY2hlY2tpbmcgZm9yIHBzZWxlY3QKY29uZmlndXJl OjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3Qu YyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE0NDIxOiAkPyA9IDAKY29uZmlndXJl OjE0NDIxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBwdGhyZWFk X3NpZ21hc2sKY29uZmlndXJlOjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMg LU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE0NDIx OiAkPyA9IDAKY29uZmlndXJlOjE0NDIxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ0MjE6IGNo ZWNraW5nIGZvciByZWFkbGluawpjb25maWd1cmU6MTQ0MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25m aWd1cmU6MTQ0MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0MjE6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNDQyMTogY2hlY2tpbmcgZm9yIHN0cnRvaW1heApjb25maWd1cmU6MTQ0MjE6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFk ICAgPiY1IApjb25maWd1cmU6MTQ0MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0MjE6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNDQyMTogY2hlY2tpbmcgZm9yIHN0cnRvdW1heApjb25maWd1cmU6MTQ0 MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1s bSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTQ0MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0 MjE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDQyMTogY2hlY2tpbmcgZm9yIHN5bWxpbmsKY29u ZmlndXJlOjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29u ZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE0NDIxOiAkPyA9IDAKY29u ZmlndXJlOjE0NDIxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBs b2NhbHRpbWVfcgpjb25maWd1cmU6MTQ0MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1n MyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTQ0 MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0MjE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDQyMTog Y2hlY2tpbmcgZm9yIGZ1dGltZXMKY29uZmlndXJlOjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29u ZmlndXJlOjE0NDIxOiAkPyA9IDAKY29uZmlndXJlOjE0NDIxOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBmdXRpbWVzYXQKY29uZmlndXJlOjE0NDIxOiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVh ZCAgID4mNSAKVW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQ6CiAgIl9m dXRpbWVzYXQiLCByZWZlcmVuY2VkIGZyb206CiAgICAgIF9tYWluIGluIGNjd0tsUkk0Lm8KbGQ6 IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQKY29sbGVjdDI6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0NDIxOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZF X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VU TVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAj ZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhB VkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5l IE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAj ZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9U T09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9O UyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwg I2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUg SEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NF VFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBI QVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VU QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEK fCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElG RlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dF VFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEK fCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5l IEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dS QU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8g MQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFW RV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxU SU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgLyogRGVmaW5lIGZ1dGltZXNhdCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8 bGltaXRzLmg+IGRlY2xhcmVzIGZ1dGltZXNhdC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFp IDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGZ1dGltZXNh dCBpbm5vY3VvdXNfZnV0aW1lc2F0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19z dHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4g Y29uZmxpY3Qgd2l0aCBjaGFyIGZ1dGltZXNhdCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGlt aXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAg PGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAK fCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNs dWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZnV0aW1lc2F0CnwgCnwgLyogT3Zl cnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAg VXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0ND CnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs IGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwg Y2hhciBmdXRpbWVzYXQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRo IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhp bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8K fCAjaWYgZGVmaW5lZCBfX3N0dWJfZnV0aW1lc2F0IHx8IGRlZmluZWQgX19zdHViX19fZnV0aW1l c2F0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBm dXRpbWVzYXQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDQyMTogcmVz dWx0OiBubwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBmdXRpbWVucwpjb25maWd1cmU6 MTQ0MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5j IC1sbSAgLWxwdGhyZWFkICAgPiY1IApVbmRlZmluZWQgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJl IHg4Nl82NDoKICAiX2Z1dGltZW5zIiwgcmVmZXJlbmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBj Y3JOUmN0Uy5vCmxkOiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0 CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDQyMTogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8 ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExP Q19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhF Q0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVE X1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAi bnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwg I2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAj ZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NL IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAx CnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNk ZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQg MQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2Rl ZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVm aW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhB VkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZF X0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhB VkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRE RUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9D T1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEK fCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5J VCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNk ZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVm aW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRU SU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEK fCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBmdXRpbWVucyB0byBhbiBpbm5vY3VvdXMgdmFyaWFu dCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGZ1dGltZW5zLgp8ICAgIEZvciBleGFtcGxl LCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZp bmUgZnV0aW1lbnMgaW5ub2N1b3VzX2Z1dGltZW5zCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBk ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3 aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGZ1dGltZW5zICgpOyBiZWxvdy4KfCAgICAgUHJl ZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5j ZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UK fCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBmdXRpbWVucwp8IAp8 IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y Lgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNl bmRpZgp8IGNoYXIgZnV0aW1lbnMgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZnV0aW1lbnMgfHwgZGVmaW5lZCBfX3N0dWJfX19m dXRpbWVucwp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1 cm4gZnV0aW1lbnMgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDQyMTog cmVzdWx0OiBubwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciB1dGltZW5zYXQKY29uZmln dXJlOjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRl c3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKVW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hpdGVj dHVyZSB4ODZfNjQ6CiAgIl91dGltZW5zYXQiLCByZWZlcmVuY2VkIGZyb206CiAgICAgIF9tYWlu IGluIGNjTVBwQUJxLm8KbGQ6IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFyY2hpdGVjdHVyZSB4 ODZfNjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0NDIx OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3 aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVf TUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFW RV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxF Q1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19f U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERS U19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVB REVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE IDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf RkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NF RElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAx CnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2Rl ZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVf R0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5l IEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZF X0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEK fCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAx CnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBI QVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5E T00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lO RF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAx CnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8 ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZF X0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxB Uk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdN QVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHV0aW1lbnNhdCB0byBhbiBpbm5vY3VvdXMg dmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHV0aW1lbnNhdC4KfCAgICBGb3Ig ZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K fCAjZGVmaW5lIHV0aW1lbnNhdCBpbm5vY3VvdXNfdXRpbWVuc2F0CnwgCnwgLyogU3lzdGVtIGhl YWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz LAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHV0aW1lbnNhdCAoKTsgYmVsb3cu CnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVm aW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcg Y29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5o Pgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgdXRp bWVuc2F0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl cm4gIkMiCnwgI2VuZGlmCnwgY2hhciB1dGltZW5zYXQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJh cnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0 byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu YW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfdXRpbWVuc2F0IHx8IGRlZmlu ZWQgX19zdHViX19fdXRpbWVuc2F0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHJldHVybiB1dGltZW5zYXQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZToxNDQyMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBs dXRpbWVzCmNvbmZpZ3VyZToxNDQyMTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1P MiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNDQyMTog JD8gPSAwCmNvbmZpZ3VyZToxNDQyMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NDMzOiBjaGVj a2luZyB3aGV0aGVyIGxvY2FsdGltZSBjYWNoZXMgVFoKY29uZmlndXJlOjE0NDY3OiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVh ZCAgID4mNSAKY29uZnRlc3QuYzoxNDQ6IHdhcm5pbmc6IHJldHVybiB0eXBlIGRlZmF1bHRzIHRv ICdpbnQnCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNDc6IHdh cm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdwdXRlbnYnCmNvbmZ0ZXN0 LmM6MTQ4OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZXhpdCcK Y29uZnRlc3QuYzoxNDg6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzoxNTA6IHdhcm5pbmc6IGlt cGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICd1bnNldGVudicKY29uZnRlc3QuYzoxNTM6 IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBm dW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzoxNTU6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBs aWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzox NTg6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1p biBmdW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzoxNTk6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBp bXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcKY29uZmlndXJl OjE0NDY3OiAkPyA9IDAKY29uZmlndXJlOjE0NDY3OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToxNDQ2 NzogJD8gPSAwCmNvbmZpZ3VyZToxNDQ4MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ0OTE6IGNo ZWNraW5nIGZvciBzb2NrZXQKY29uZmlndXJlOjE0NDkxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmln dXJlOjE0NDkxOiAkPyA9IDAKY29uZmlndXJlOjE0NDkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTQ0OTk6IGNoZWNraW5nIG5ldGluZXQvaW4uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0NDk5OiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQ0 OTk6ICQ/ID0gMApjb25maWd1cmU6MTQ0OTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDQ5OTog Y2hlY2tpbmcgbmV0aW5ldC9pbi5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDQ5OTogZ2NjIC1FICAg IGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0NDk5OiAkPyA9IDAKY29uZmlndXJlOjE0NDk5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTQ0OTk6IGNoZWNraW5nIGZvciBuZXRpbmV0L2luLmgKY29uZmln dXJlOjE0NDk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1MDk6IGNoZWNraW5nIGFycGEvaW5l dC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQ1MDk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIg ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDUwOTogJD8gPSAwCmNvbmZpZ3VyZToxNDUw OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTA5OiBjaGVja2luZyBhcnBhL2luZXQuaCBwcmVz ZW5jZQpjb25maWd1cmU6MTQ1MDk6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDUw OTogJD8gPSAwCmNvbmZpZ3VyZToxNDUwOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTA5OiBj aGVja2luZyBmb3IgYXJwYS9pbmV0LmgKY29uZmlndXJlOjE0NTA5OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTQ1MzA6IGNoZWNraW5nIHdoZXRoZXIgc3lzdGVtIHN1cHBvcnRzIGR5bmFtaWMgcHR5 cwpjb25maWd1cmU6MTQ1Mzk6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NTQ4OiBjaGVja2luZyBm b3IgcGlkX3QKY29uZmlndXJlOjE0NTQ4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQ1NDg6ICQ/ID0gMApjb25maWd1cmU6MTQ1NDg6IGdj YyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNzc6IGVycm9yOiBleHBlY3RlZCBleHByZXNz aW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjE0NTQ4OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4y LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5T X0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAx CnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJ RCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJ TUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9S SU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJU T1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1F X1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVk IEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNs dWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNs dWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVk ZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgo cGlkX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MTQ1NDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU2MTogY2hlY2tpbmcgdmZvcmsuaCB1 c2FiaWxpdHkKY29uZmlndXJlOjE0NTYxOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgICBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE3NDoxOTogZXJyb3I6IHZmb3JrLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjE0NTYxOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQu Mi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRM X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V VFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAx CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJf U0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hB VkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5l IFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lU X1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwg I2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VU UlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAx CnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dF VENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklO Rk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIg MQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNk ZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVm aW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhB VkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUg MQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVm aW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5l IEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQg MQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNk ZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmlu ZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1Ig MQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RE TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhB VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRl IDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUg PHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl IDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRl IDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8 dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHZmb3JrLmg+CmNvbmZpZ3VyZToxNDU2MTog cmVzdWx0OiBubwpjb25maWd1cmU6MTQ1NjE6IGNoZWNraW5nIHZmb3JrLmggcHJlc2VuY2UKY29u ZmlndXJlOjE0NTYxOiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjE0MToxOTogZXJy b3I6IHZmb3JrLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjE0NTYxOiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2Rl ZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4i CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFM TE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9F WEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BF RURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05B TUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhB VkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxP Q0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElS IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwg I2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJ RCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhB VkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dF VERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwg I2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZF X0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwg I2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNk ZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx2Zm9yay5oPgpjb25maWd1cmU6MTQ1NjE6IHJlc3Vs dDogbm8KY29uZmlndXJlOjE0NTYxOiBjaGVja2luZyBmb3IgdmZvcmsuaApjb25maWd1cmU6MTQ1 NjE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NTc0OiBjaGVja2luZyBmb3IgZm9yawpjb25maWd1 cmU6MTQ1NzQ6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVz dC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25mdGVzdC5jOjE2NDogd2FybmluZzogY29uZmxp Y3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdmb3JrJwpjb25maWd1cmU6MTQ1NzQ6 ICQ/ID0gMApjb25maWd1cmU6MTQ1NzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU3NDogY2hl Y2tpbmcgZm9yIHZmb3JrCmNvbmZpZ3VyZToxNDU3NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3Vy ZToxNDU3NDogJD8gPSAwCmNvbmZpZ3VyZToxNDU3NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 NTg0OiBjaGVja2luZyBmb3Igd29ya2luZyBmb3JrCmNvbmZpZ3VyZToxNDYwNjogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQg ICA+JjUgCmNvbmZpZ3VyZToxNDYwNjogJD8gPSAwCmNvbmZpZ3VyZToxNDYwNjogLi9jb25mdGVz dApjb25maWd1cmU6MTQ2MDY6ICQ/ID0gMApjb25maWd1cmU6MTQ2MTY6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNDYzNzogY2hlY2tpbmcgZm9yIHdvcmtpbmcgdmZvcmsKY29uZmlndXJlOjE0NzQ3 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ3NzU6IGNoZWNraW5nIGZvciBzbnByaW50Zgpjb25m aWd1cmU6MTQ3NzU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25m dGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25mdGVzdC5jOjE2ODogd2FybmluZzogY29u ZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzbnByaW50ZicKY29uZmlndXJl OjE0Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE0Nzc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ3 ODU6IGNoZWNraW5nIGZvciBubF9sYW5naW5mbyBhbmQgQ09ERVNFVApjb25maWd1cmU6MTQ4MDE6 IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAg LWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTQ4MDE6ICQ/ID0gMApjb25maWd1cmU6MTQ4MTA6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDgxODogY2hlY2tpbmcgZm9yIG1ic3RhdGVfdApjb25m aWd1cmU6MTQ4MzU6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToxNDgzNTogJD8gPSAwCmNvbmZpZ3VyZToxNDg0MjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE0ODU0OiBjaGVja2luZyBmb3IgQyByZXN0cmljdGVkIGFycmF5IGRlY2xhcmF0aW9u cwpjb25maWd1cmU6MTQ4NzA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToxNDg3MDogJD8gPSAwCmNvbmZpZ3VyZToxNDg3NzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE1MTk4OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgbGlicmFyeQpjb25maWd1cmU6MTUyMTY6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZ0ZXN0 LmM6MTcwOjIyOiBlcnJvcjogZmVhdHVyZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj b25mdGVzdC5jOjE3MjozOiBlcnJvcjogI2Vycm9yICJ0aGlzIGlzIG5vdCB0aGUgR05VIEMgbGli cmFyeSIKY29uZmlndXJlOjE1MjE2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VS IDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19J TVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0g MQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBI QVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VU TElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZT RVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0Qg MQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9U WlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFU IDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUg SEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lO RVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NP REVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9h cnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBD TEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hB UiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBE SVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09V TkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmlu ZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUg RklSU1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsg aWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZk ID0gLTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBU WV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KfCAjaWZu ZGVmIF9fR05VX0xJQlJBUllfXwp8ICMgZXJyb3IgInRoaXMgaXMgbm90IHRoZSBHTlUgQyBsaWJy YXJ5Igp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZToxNTIyMjogcmVzdWx0OiBubwpjb25maWd1cmU6MTU0ODc6IGNoZWNr aW5nIGZvciBfc2V0am1wCmNvbmZpZ3VyZToxNTUwNjogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3Vy ZToxNTUwNjogJD8gPSAwCmNvbmZpZ3VyZToxNTUxNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1 NzE3OiBjaGVja2luZyBmb3IgdXNhYmxlIEZJT05SRUFECmNvbmZpZ3VyZToxNTc0NDogZ2NjIC1z dGQ9Z251OTkgLWMgLWczIC1PMiAgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE1NzQ0OiAk PyA9IDAKY29uZmlndXJlOjE1NzUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NjE6IGNoZWNr aW5nIGZvciB1c2FibGUgU0lHSU8KY29uZmlndXJlOjE1Nzc5OiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yICAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTU3Nzk6ICQ/ID0gMApjb25maWd1 cmU6MTU3ODY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjA5NTogY2hlY2tpbmcgZm9yIHdvcmtp bmcgYWxsb2NhLmgKY29uZmlndXJlOjE2MTEyOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt ZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MTYxMTI6ICQ/ ID0gMApjb25maWd1cmU6MTYxMjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjEyODogY2hlY2tp bmcgZm9yIGFsbG9jYQpjb25maWd1cmU6MTYxNjU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNjE2NTog JD8gPSAwCmNvbmZpZ3VyZToxNjE3MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2Mjg2OiBjaGVj a2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFuCmNvbmZpZ3VyZToxNjMwMTog Z2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTYz MDE6ICQ/ID0gMApjb25maWd1cmU6MTYzNDY6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE2MzQ2OiAkPyA9IDAKY29uZmlndXJlOjE2MzY0OiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxOTI6IGVycm9yOiAnbm90JyB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZnRlc3QuYzoxOTI6IGVycm9yOiAoRWFj aCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlCmNvbmZ0ZXN0LmM6 MTkyOiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCmNvbmZ0ZXN0LmM6 MTkyOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnYmlnJwpjb25maWd1cmU6MTYzNjQ6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIK fCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxM T0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VY RUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNf U0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVF RF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0gg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFN RVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFERVIg Im5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8 ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZpbmUgSEFW RV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9D SyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIg MQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lE IDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFW RV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VU REVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNk ZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAj ZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2Rl ZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAx CnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZp bmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhB VkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19W Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJ TlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01C U1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBB TVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmlu ZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVW SUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vz c2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElS RUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJ U19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJ U19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBET05UX1JF T1BFTl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNk ZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZv ciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdwJwp8ICNk ZWZpbmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAmc2xhdmUs IHB0eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19jbG9zZSAo c2xhdmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2Rl ZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9D T1VOVChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZpbmUgVEFC MyBPWFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRK TVAgMQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoqLwp8ICNk ZWZpbmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmlu ZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTIg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5z dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1kYXJ3aW4x Mi4xLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMnICctLWVu YWJsZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgCQkjaW5jbHVkZSA8c3lzL3BhcmFt Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWYgQllURV9PUkRFUiAhPSBCSUdfRU5ESUFO CnwgCQkgbm90IGJpZyBlbmRpYW4KfCAJCSNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MTY0OTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NTExOiBjaGVja2luZyBm b3IgaW5saW5lCmNvbmZpZ3VyZToxNjUyNzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6MTY1Mjc6ICQ/ID0gMApjb25maWd1cmU6MTY1MzU6IHJl c3VsdDogaW5saW5lCmNvbmZpZ3VyZToxNjU1NDogY2hlY2tpbmcgd2hldGhlciBzdHJ0b2xkIGNv bmZvcm1zIHRvIEM5OQpjb25maWd1cmU6MTY1ODE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNjU4MTog JD8gPSAwCmNvbmZpZ3VyZToxNjU4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NzI3OiBjaGVj a2luZyBpZiBlbnZpcm9uIGlzIHByb3Blcmx5IGRlY2xhcmVkCmNvbmZpZ3VyZToxNjc1MDogZ2Nj IC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTY3NTA6 ICQ/ID0gMApjb25maWd1cmU6MTY3NTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2Nzc3OiBjaGVj a2luZyBmb3Igc3RfZG1fbW9kZSBpbiBzdHJ1Y3Qgc3RhdApjb25maWd1cmU6MTY3OTU6IGdjYyAt c3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjE5MjogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5v IG1lbWJlciBuYW1lZCAnc3RfZG1fbW9kZScKY29uZmlndXJlOjE2Nzk1OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi ZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBI QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF X1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVm aW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIK fCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVT RV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFW RV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5l IEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZF X1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmlu ZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVf R0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9T RVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJP TSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQURE UlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1Q IDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVf RElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZF X0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFX IDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEK fCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUg SEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZF X0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlO Rk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAx CnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUg SEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1F UyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8 ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNk ZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8 ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZV TExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlT IDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9u dWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2Rl ZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAg Jy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZ X1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChf Y18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEK fCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVS UlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBp IDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9P UEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwg TlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3 aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RU WV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkg KChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwg I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVm aW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJ Tl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJ R0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAj ZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNk ZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2Vs Zi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg I2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdHJ1Y3Qgc3RhdCBz OyBzLnN0X2RtX21vZGU7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNjgwMjog cmVzdWx0OiBubwpjb25maWd1cmU6MTY4MTI6IGNoZWNraW5nIHdoZXRoZXIgc3RybW9kZSBpcyBk ZWNsYXJlZApjb25maWd1cmU6MTY4MTI6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjE2ODEyOiAkPyA9IDAKY29uZmlndXJlOjE2ODEyOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTY5MDA6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHByZXByb2Nlc3Nv ciBzdXBwb3J0cyBpbmNsdWRlX25leHQKY29uZmlndXJlOjE2OTM4OiBnY2MgLXN0ZD1nbnU5OSAt YyAtZzMgLU8yICAgIC1JY29uZnRlc3RkMWIgLUljb25mdGVzdGQyIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToxNjkzODogJD8gPSAwCmNvbmZpZ3VyZToxNjk1OTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE2OTgwOiBjaGVja2luZyB3aGV0aGVyIHN5c3RlbSBoZWFkZXIgZmlsZXMgbGltaXQgdGhl IGxpbmUgbGVuZ3RoCmNvbmZpZ3VyZToxNzAwMzogcmVzdWx0OiBubwpjb25maWd1cmU6MTcxMDQ6 IGNoZWNraW5nIGZvciBnZXRvcHQuaApjb25maWd1cmU6MTcxMDQ6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNzEyMTogY2hlY2tpbmcgZm9yIGdldG9wdF9sb25nX29ubHkKY29uZmlndXJlOjE3MTIx OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRo cmVhZCAgPiY1IApjb25maWd1cmU6MTcxMjE6ICQ/ID0gMApjb25maWd1cmU6MTcxMjE6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxNzEzNTogY2hlY2tpbmcgd2hldGhlciBnZXRvcHQgaXMgUE9TSVgg Y29tcGF0aWJsZQpjb25maWd1cmU6MTcxNzc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1n MyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNzE3NzogJD8g PSAwCmNvbmZpZ3VyZToxNzE3NzogLi9jb25mdGVzdApjb25maWd1cmU6MTcxNzc6ICQ/ID0gMApj b25maWd1cmU6MTcyMzY6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNv bmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNzIzNjogJD8gPSAwCmNvbmZpZ3Vy ZToxNzIzNjogLi9jb25mdGVzdApjb25maWd1cmU6MTcyMzY6ICQ/ID0gMApjb25maWd1cmU6MTcy Nzg6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxw dGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNzI3ODogJD8gPSAwCmNvbmZpZ3VyZToxNzI3ODogLi9j b25mdGVzdApwcm9ncmFtOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gYgpjb25maWd1 cmU6MTcyNzg6ICQ/ID0gMTYKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAx Ngpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAj ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0Nf TUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJ TkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9U IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMg MQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5z dGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNk ZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2Rl ZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZpbmUgSEFWRV9I X0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVm aW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEK fCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZp bmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9G UkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVM SU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZp bmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9D Rk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09Q WVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwg I2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwg I2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RB VEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBF UlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBI QVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNF ICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2Vz IDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNU T1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19E SVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19B TllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBET05UX1JFT1BF Tl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAo aSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdwJwp8ICNkZWZp bmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAmc2xhdmUsIHB0 eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19jbG9zZSAoc2xh dmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmlu ZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VO VChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZpbmUgVEFCMyBP WFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAg MQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoqLwp8ICNkZWZp bmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBV U0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTIgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVy bS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1kYXJ3aW4xMi4x LjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMnICctLWVuYWJs ZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwgI2RlZmluZSBIQVZFX0dF VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAjaW5jbHVkZSA8c3RkbGliLmg+ CnwgI2luY2x1ZGUgPHN0cmluZy5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgICBzdGF0aWMg Y2hhciBwcm9ncmFtW10gPSAicHJvZ3JhbSI7CnwgICBzdGF0aWMgY2hhciBhYltdID0gIi1hYiI7 CnwgICBjaGFyICphcmd2WzNdID0geyBwcm9ncmFtLCBhYiwgTlVMTCB9Owp8ICAgaWYgKGdldG9w dCAoMiwgYXJndiwgImFiOiIpICE9ICdhJykKfCAgICAgcmV0dXJuIDEzOwp8ICAgaWYgKGdldG9w dCAoMiwgYXJndiwgImFiOiIpICE9ICc/JykKfCAgICAgcmV0dXJuIDE0Owp8ICAgaWYgKG9wdG9w dCAhPSAnYicpCnwgICAgIHJldHVybiAxNTsKfCAgIGlmIChvcHRpbmQgIT0gMikKfCAgICAgcmV0 dXJuIDE2Owp8ICAgcmV0dXJuIDA7CnwgfQp8IApjb25maWd1cmU6MTcyOTY6IHJlc3VsdDogbm8K Y29uZmlndXJlOjE3NjMxOiBjaGVja2luZyB3aGV0aGVyIGdldGVudiBpcyBkZWNsYXJlZApjb25m aWd1cmU6MTc2MzE6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjE3NjMxOiAkPyA9IDAKY29uZmlndXJlOjE3NjMxOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTc2NDc6IGNoZWNraW5nIGZvciBDL0MrKyByZXN0cmljdCBrZXl3b3JkCmNvbmZpZ3Vy ZToxNzY3MjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6MTc2NzI6ICQ/ID0gMApjb25maWd1cmU6MTc2ODA6IHJlc3VsdDogX19yZXN0cmljdApj b25maWd1cmU6MTc4MTM6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdGltZXZhbApjb25maWd1cmU6MTc4 MzY6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjE3ODM2OiAkPyA9IDAKY29uZmlndXJlOjE3ODQ0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc4 NDk6IGNoZWNraW5nIGZvciB3aWRlLWVub3VnaCBzdHJ1Y3QgdGltZXZhbC50dl9zZWMgbWVtYmVy CmNvbmZpZ3VyZToxNzg3NjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MTc4NzY6ICQ/ID0gMApjb25maWd1cmU6MTc4ODQ6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNzg5NzogY2hlY2tpbmcgZm9yIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQKY29u ZmlndXJlOjE3OTQ1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc5NTU6IGNoZWNraW5nIGZvciBs b25nIGxvbmcgaW50CmNvbmZpZ3VyZToxODAwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4MDI3 OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTox ODAyNzogJD8gPSAwCmNvbmZpZ3VyZToxODE4MDogY2hlY2tpbmcgd2hldGhlciBzdGRpbnQuaCBj b25mb3JtcyB0byBDOTkKY29uZmlndXJlOjE4MzQ5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MzEzOiBlcnJvcjogbmVnYXRpdmUgd2lkdGgg aW4gYml0LWZpZWxkICdjaGVja19VSU5UOF9DJwpjb25mdGVzdC5jOjMxNTogZXJyb3I6IG5lZ2F0 aXZlIHdpZHRoIGluIGJpdC1maWVsZCAnY2hlY2tfVUlOVDE2X0MnCmNvbmZpZ3VyZToxODM0OTog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2lu Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01B TExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQ RUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNf SCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9O QU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURF UiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAx CnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZM T0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJ UiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBH SUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwg I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBI QVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9H RVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf TUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5l IEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVm aW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9E RVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9j ZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBE SVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5l IElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5l IElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRf UkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsg Zm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwg I2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2 ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3Nl IChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAj ZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVU X0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBU QUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwg I2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVm aW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAx MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAi bnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndp bjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0t ZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAKfCAKfCAjZGVmaW5lIF9HTF9KVVNUX0lOQ0xVREVfU1lTVEVNX1NURElOVF9IIDEg Lyogd29yayBpZiBidWlsZCBpc24ndCBjbGVhbiAqLwp8ICNpbmNsdWRlIDxzdGRpbnQuaD4KfCAv KiBEcmFnb25mbHkgZGVmaW5lcyBXQ0hBUl9NSU4sIFdDSEFSX01BWCBvbmx5IGluIDx3Y2hhci5o Pi4gICovCnwgI2lmICEoZGVmaW5lZCBXQ0hBUl9NSU4gJiYgZGVmaW5lZCBXQ0hBUl9NQVgpCnwg I2Vycm9yICJXQ0hBUl9NSU4sIFdDSEFSX01BWCBub3QgZGVmaW5lZCBpbiA8c3RkaW50Lmg+Igp8 ICNlbmRpZgp8IAp8IAp8ICAgLyogQlNEL09TIDQuMC4xIGhhcyBhIGJ1ZzogPHN0ZGRlZi5oPiwg PHN0ZGlvLmg+IGFuZCA8dGltZS5oPiBtdXN0IGJlCnwgICAgICBpbmNsdWRlZCBiZWZvcmUgPHdj aGFyLmg+LiAgKi8KfCAgICNpbmNsdWRlIDxzdGRkZWYuaD4KfCAgICNpbmNsdWRlIDxzaWduYWwu aD4KfCAgICNpZiBIQVZFX1dDSEFSX0gKfCAgICMgaW5jbHVkZSA8c3RkaW8uaD4KfCAgICMgaW5j bHVkZSA8dGltZS5oPgp8ICAgIyBpbmNsdWRlIDx3Y2hhci5oPgp8ICAgI2VuZGlmCnwgCnwgCnwg I2lmZGVmIElOVDhfTUFYCnwgaW50OF90IGExID0gSU5UOF9NQVg7CnwgaW50OF90IGExbWluID0g SU5UOF9NSU47CnwgI2VuZGlmCnwgI2lmZGVmIElOVDE2X01BWAp8IGludDE2X3QgYTIgPSBJTlQx Nl9NQVg7CnwgaW50MTZfdCBhMm1pbiA9IElOVDE2X01JTjsKfCAjZW5kaWYKfCAjaWZkZWYgSU5U MzJfTUFYCnwgaW50MzJfdCBhMyA9IElOVDMyX01BWDsKfCBpbnQzMl90IGEzbWluID0gSU5UMzJf TUlOOwp8ICNlbmRpZgp8ICNpZmRlZiBJTlQ2NF9NQVgKfCBpbnQ2NF90IGE0ID0gSU5UNjRfTUFY Owp8IGludDY0X3QgYTRtaW4gPSBJTlQ2NF9NSU47CnwgI2VuZGlmCnwgI2lmZGVmIFVJTlQ4X01B WAp8IHVpbnQ4X3QgYjEgPSBVSU5UOF9NQVg7CnwgI2Vsc2UKfCB0eXBlZGVmIGludCBiMVsodW5z aWduZWQgY2hhcikgLTEgIT0gMjU1ID8gMSA6IC0xXTsKfCAjZW5kaWYKfCAjaWZkZWYgVUlOVDE2 X01BWAp8IHVpbnQxNl90IGIyID0gVUlOVDE2X01BWDsKfCAjZW5kaWYKfCAjaWZkZWYgVUlOVDMy X01BWAp8IHVpbnQzMl90IGIzID0gVUlOVDMyX01BWDsKfCAjZW5kaWYKfCAjaWZkZWYgVUlOVDY0 X01BWAp8IHVpbnQ2NF90IGI0ID0gVUlOVDY0X01BWDsKfCAjZW5kaWYKfCBpbnRfbGVhc3Q4X3Qg YzEgPSBJTlQ4X0MgKDB4N2YpOwp8IGludF9sZWFzdDhfdCBjMW1heCA9IElOVF9MRUFTVDhfTUFY Owp8IGludF9sZWFzdDhfdCBjMW1pbiA9IElOVF9MRUFTVDhfTUlOOwp8IGludF9sZWFzdDE2X3Qg YzIgPSBJTlQxNl9DICgweDdmZmYpOwp8IGludF9sZWFzdDE2X3QgYzJtYXggPSBJTlRfTEVBU1Qx Nl9NQVg7CnwgaW50X2xlYXN0MTZfdCBjMm1pbiA9IElOVF9MRUFTVDE2X01JTjsKfCBpbnRfbGVh c3QzMl90IGMzID0gSU5UMzJfQyAoMHg3ZmZmZmZmZik7CnwgaW50X2xlYXN0MzJfdCBjM21heCA9 IElOVF9MRUFTVDMyX01BWDsKfCBpbnRfbGVhc3QzMl90IGMzbWluID0gSU5UX0xFQVNUMzJfTUlO Owp8IGludF9sZWFzdDY0X3QgYzQgPSBJTlQ2NF9DICgweDdmZmZmZmZmZmZmZmZmZmYpOwp8IGlu dF9sZWFzdDY0X3QgYzRtYXggPSBJTlRfTEVBU1Q2NF9NQVg7CnwgaW50X2xlYXN0NjRfdCBjNG1p biA9IElOVF9MRUFTVDY0X01JTjsKfCB1aW50X2xlYXN0OF90IGQxID0gVUlOVDhfQyAoMHhmZik7 CnwgdWludF9sZWFzdDhfdCBkMW1heCA9IFVJTlRfTEVBU1Q4X01BWDsKfCB1aW50X2xlYXN0MTZf dCBkMiA9IFVJTlQxNl9DICgweGZmZmYpOwp8IHVpbnRfbGVhc3QxNl90IGQybWF4ID0gVUlOVF9M RUFTVDE2X01BWDsKfCB1aW50X2xlYXN0MzJfdCBkMyA9IFVJTlQzMl9DICgweGZmZmZmZmZmKTsK fCB1aW50X2xlYXN0MzJfdCBkM21heCA9IFVJTlRfTEVBU1QzMl9NQVg7CnwgdWludF9sZWFzdDY0 X3QgZDQgPSBVSU5UNjRfQyAoMHhmZmZmZmZmZmZmZmZmZmZmKTsKfCB1aW50X2xlYXN0NjRfdCBk NG1heCA9IFVJTlRfTEVBU1Q2NF9NQVg7CnwgaW50X2Zhc3Q4X3QgZTEgPSBJTlRfRkFTVDhfTUFY Owp8IGludF9mYXN0OF90IGUxbWluID0gSU5UX0ZBU1Q4X01JTjsKfCBpbnRfZmFzdDE2X3QgZTIg PSBJTlRfRkFTVDE2X01BWDsKfCBpbnRfZmFzdDE2X3QgZTJtaW4gPSBJTlRfRkFTVDE2X01JTjsK fCBpbnRfZmFzdDMyX3QgZTMgPSBJTlRfRkFTVDMyX01BWDsKfCBpbnRfZmFzdDMyX3QgZTNtaW4g PSBJTlRfRkFTVDMyX01JTjsKfCBpbnRfZmFzdDY0X3QgZTQgPSBJTlRfRkFTVDY0X01BWDsKfCBp bnRfZmFzdDY0X3QgZTRtaW4gPSBJTlRfRkFTVDY0X01JTjsKfCB1aW50X2Zhc3Q4X3QgZjEgPSBV SU5UX0ZBU1Q4X01BWDsKfCB1aW50X2Zhc3QxNl90IGYyID0gVUlOVF9GQVNUMTZfTUFYOwp8IHVp bnRfZmFzdDMyX3QgZjMgPSBVSU5UX0ZBU1QzMl9NQVg7CnwgdWludF9mYXN0NjRfdCBmNCA9IFVJ TlRfRkFTVDY0X01BWDsKfCAjaWZkZWYgSU5UUFRSX01BWAp8IGludHB0cl90IGcgPSBJTlRQVFJf TUFYOwp8IGludHB0cl90IGdtaW4gPSBJTlRQVFJfTUlOOwp8ICNlbmRpZgp8ICNpZmRlZiBVSU5U UFRSX01BWAp8IHVpbnRwdHJfdCBoID0gVUlOVFBUUl9NQVg7CnwgI2VuZGlmCnwgaW50bWF4X3Qg aSA9IElOVE1BWF9NQVg7CnwgdWludG1heF90IGogPSBVSU5UTUFYX01BWDsKfCAKfCAjaW5jbHVk ZSA8bGltaXRzLmg+IC8qIGZvciBDSEFSX0JJVCAqLwp8ICNkZWZpbmUgVFlQRV9NSU5JTVVNKHQp ICAgKCh0KSAoKHQpIDAgPCAodCkgLTEgPyAodCkgMCA6IH4gVFlQRV9NQVhJTVVNICh0KSkpCnwg I2RlZmluZSBUWVBFX01BWElNVU0odCkgICAoKHQpICgodCkgMCA8ICh0KSAtMSAgICAgICAgID8g KHQpIC0xICAgICAgICAgOiAoKCgodCkgMSA8PCAoc2l6ZW9mICh0KSAqIENIQVJfQklUIC0gMikp IC0gMSkgKiAyICsgMSkpKQp8IHN0cnVjdCBzIHsKfCAgIGludCBjaGVja19QVFJESUZGOgp8ICAg ICAgIFBUUkRJRkZfTUlOID09IFRZUEVfTUlOSU1VTSAocHRyZGlmZl90KQp8ICAgICAgICYmIFBU UkRJRkZfTUFYID09IFRZUEVfTUFYSU1VTSAocHRyZGlmZl90KQp8ICAgICAgID8gMSA6IC0xOwp8 ICAgLyogRGV0ZWN0IGJ1ZyBpbiBGcmVlQlNEIDYuMCAvIGlhNjQuICAqLwp8ICAgaW50IGNoZWNr X1NJR19BVE9NSUM6CnwgICAgICAgU0lHX0FUT01JQ19NSU4gPT0gVFlQRV9NSU5JTVVNIChzaWdf YXRvbWljX3QpCnwgICAgICAgJiYgU0lHX0FUT01JQ19NQVggPT0gVFlQRV9NQVhJTVVNIChzaWdf YXRvbWljX3QpCnwgICAgICAgPyAxIDogLTE7CnwgICBpbnQgY2hlY2tfU0laRTogU0laRV9NQVgg PT0gVFlQRV9NQVhJTVVNIChzaXplX3QpID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX1dDSEFSOgp8 ICAgICAgIFdDSEFSX01JTiA9PSBUWVBFX01JTklNVU0gKHdjaGFyX3QpCnwgICAgICAgJiYgV0NI QVJfTUFYID09IFRZUEVfTUFYSU1VTSAod2NoYXJfdCkKfCAgICAgICA/IDEgOiAtMTsKfCAgIC8q IERldGVjdCBidWcgaW4gbWluZ3cuICAqLwp8ICAgaW50IGNoZWNrX1dJTlQ6CnwgICAgICAgV0lO VF9NSU4gPT0gVFlQRV9NSU5JTVVNICh3aW50X3QpCnwgICAgICAgJiYgV0lOVF9NQVggPT0gVFlQ RV9NQVhJTVVNICh3aW50X3QpCnwgICAgICAgPyAxIDogLTE7CnwgCnwgICAvKiBEZXRlY3QgYnVn cyBpbiBnbGliYyAyLjQgYW5kIFNvbGFyaXMgMTAgc3RkaW50LmgsIGFtb25nIG90aGVycy4gICov CnwgICBpbnQgY2hlY2tfVUlOVDhfQzoKfCAgICAgICAgICgtMSA8IFVJTlQ4X0MgKDApKSA9PSAo LTEgPCAodWludF9sZWFzdDhfdCkgMCkgPyAxIDogLTE7CnwgICBpbnQgY2hlY2tfVUlOVDE2X0M6 CnwgICAgICAgICAoLTEgPCBVSU5UMTZfQyAoMCkpID09ICgtMSA8ICh1aW50X2xlYXN0MTZfdCkg MCkgPyAxIDogLTE7CnwgCnwgICAvKiBEZXRlY3QgYnVncyBpbiBPcGVuQlNEIDMuOSBzdGRpbnQu aC4gICovCnwgI2lmZGVmIFVJTlQ4X01BWAp8ICAgaW50IGNoZWNrX3VpbnQ4OiAodWludDhfdCkg LTEgPT0gVUlOVDhfTUFYID8gMSA6IC0xOwp8ICNlbmRpZgp8ICNpZmRlZiBVSU5UMTZfTUFYCnwg ICBpbnQgY2hlY2tfdWludDE2OiAodWludDE2X3QpIC0xID09IFVJTlQxNl9NQVggPyAxIDogLTE7 CnwgI2VuZGlmCnwgI2lmZGVmIFVJTlQzMl9NQVgKfCAgIGludCBjaGVja191aW50MzI6ICh1aW50 MzJfdCkgLTEgPT0gVUlOVDMyX01BWCA/IDEgOiAtMTsKfCAjZW5kaWYKfCAjaWZkZWYgVUlOVDY0 X01BWAp8ICAgaW50IGNoZWNrX3VpbnQ2NDogKHVpbnQ2NF90KSAtMSA9PSBVSU5UNjRfTUFYID8g MSA6IC0xOwp8ICNlbmRpZgp8ICAgaW50IGNoZWNrX3VpbnRfbGVhc3Q4OiAodWludF9sZWFzdDhf dCkgLTEgPT0gVUlOVF9MRUFTVDhfTUFYID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX3VpbnRfbGVh c3QxNjogKHVpbnRfbGVhc3QxNl90KSAtMSA9PSBVSU5UX0xFQVNUMTZfTUFYID8gMSA6IC0xOwp8 ICAgaW50IGNoZWNrX3VpbnRfbGVhc3QzMjogKHVpbnRfbGVhc3QzMl90KSAtMSA9PSBVSU5UX0xF QVNUMzJfTUFYID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX3VpbnRfbGVhc3Q2NDogKHVpbnRfbGVh c3Q2NF90KSAtMSA9PSBVSU5UX0xFQVNUNjRfTUFYID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX3Vp bnRfZmFzdDg6ICh1aW50X2Zhc3Q4X3QpIC0xID09IFVJTlRfRkFTVDhfTUFYID8gMSA6IC0xOwp8 ICAgaW50IGNoZWNrX3VpbnRfZmFzdDE2OiAodWludF9mYXN0MTZfdCkgLTEgPT0gVUlOVF9GQVNU MTZfTUFYID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX3VpbnRfZmFzdDMyOiAodWludF9mYXN0MzJf dCkgLTEgPT0gVUlOVF9GQVNUMzJfTUFYID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX3VpbnRfZmFz dDY0OiAodWludF9mYXN0NjRfdCkgLTEgPT0gVUlOVF9GQVNUNjRfTUFYID8gMSA6IC0xOwp8ICAg aW50IGNoZWNrX3VpbnRwdHI6ICh1aW50cHRyX3QpIC0xID09IFVJTlRQVFJfTUFYID8gMSA6IC0x Owp8ICAgaW50IGNoZWNrX3VpbnRtYXg6ICh1aW50bWF4X3QpIC0xID09IFVJTlRNQVhfTUFYID8g MSA6IC0xOwp8ICAgaW50IGNoZWNrX3NpemU6IChzaXplX3QpIC0xID09IFNJWkVfTUFYID8gMSA6 IC0xOwp8IH07CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjE4NDQxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODQ1MDogY2hlY2tpbmcg c3lzL2ludHR5cGVzLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxODQ1MDogZ2NjIC1zdGQ9Z251OTkg LWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjIyNzoyNjogZXJyb3I6IHN5 cy9pbnR0eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxODQ1MDog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2lu Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01B TExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQ RUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNf SCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9O QU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURF UiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAx CnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZM T0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJ UiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBH SUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwg I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBI QVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9H RVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf TUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5l IEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVm aW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9E RVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9j ZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBE SVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5l IElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5l IElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRf UkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsg Zm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwg I2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2 ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3Nl IChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAj ZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVU X0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBU QUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwg I2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVm aW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAx MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAi bnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndp bjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0t ZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMg aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8 ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBp ZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRp Zgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19I CnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNf SAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRf SAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gK fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvaW50dHlwZXMu aD4KY29uZmlndXJlOjE4NDUwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODQ1MDogY2hlY2tpbmcg c3lzL2ludHR5cGVzLmggcHJlc2VuY2UKY29uZmlndXJlOjE4NDUwOiBnY2MgLUUgICAgY29uZnRl c3QuYwpjb25mdGVzdC5jOjE5NDoyNjogZXJyb3I6IHN5cy9pbnR0eXBlcy5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxODQ1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIu NTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIK fCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRT TkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBI QVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAx CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NB X0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZF X05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBT WVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9T Q1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNk ZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUg SEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VU SE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8 ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRD V0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZP IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEK fCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmlu ZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZF X0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmlu ZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBI QVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAx CnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZT RUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVD VCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURM SU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEK fCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZp bmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhB VkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9M QU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9f cmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8 ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmlu ZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVm aW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9G VUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZp bmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAo KF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElS RUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBE RUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQg MQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykK fCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBp bnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwp ID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwg I2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJ TlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9w IC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0Nf U0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIg LyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8 ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFD U19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVk JyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwg I2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL2lu dHR5cGVzLmg+CmNvbmZpZ3VyZToxODQ1MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTg0NTA6IGNo ZWNraW5nIGZvciBzeXMvaW50dHlwZXMuaApjb25maWd1cmU6MTg0NTA6IHJlc3VsdDogbm8KY29u ZmlndXJlOjE4NDUwOiBjaGVja2luZyBzeXMvYml0eXBlcy5oIHVzYWJpbGl0eQpjb25maWd1cmU6 MTg0NTA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzoyMjc6MjU6IGVycm9yOiBzeXMvYml0eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CmNvbmZpZ3VyZToxODQ1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAx CnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAx CnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1Q TF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2Rl ZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFW RV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1F UyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU SUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJ TkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VU U1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEK fCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2Rl ZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhB VkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVU X1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8 ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JL IDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RF U0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJy IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xB U0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tF VFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIg JzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHct PnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNF X1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElS RUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAo X2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5E X0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUg UFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJ UlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlm IChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9 IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlf TkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAj ZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5f YmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktT IDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZp bmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNB QkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklH SFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwg I2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFU SU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJ T05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5l IEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf TE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZF X0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNp bmNsdWRlIDxzeXMvYml0eXBlcy5oPgpjb25maWd1cmU6MTg0NTA6IHJlc3VsdDogbm8KY29uZmln dXJlOjE4NDUwOiBjaGVja2luZyBzeXMvYml0eXBlcy5oIHByZXNlbmNlCmNvbmZpZ3VyZToxODQ1 MDogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxOTQ6MjU6IGVycm9yOiBzeXMvYml0 eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxODQ1MDogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUg VkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2Rl ZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5l IF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2Rl ZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNk ZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19N QUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lO Rk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1Qg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwg I2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAx CnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0 ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2Rl ZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVm aW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hf RVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEK fCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwg I2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZp bmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFW RV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF VExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVf UkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZS RUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf TUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJ TSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZp bmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NG TUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZ U0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAj ZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAx CnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZp bmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5l IFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1F T0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAj ZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwg I2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBI QVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZF X0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9G T1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFU RV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVS U0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhB VkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0Ug Ii9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMg MQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RP UllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJ UkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FO WV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVO X1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmlu ZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChp ID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmlu ZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5 X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2 ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5l IFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5U KEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9Y VEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAx CnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmlu ZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVT QUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJt LmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEu MCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxl LW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9T VFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VU T1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VU T1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJl c3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL2JpdHlwZXMuaD4KY29uZmlndXJlOjE4NDUwOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxODQ1MDogY2hlY2tpbmcgZm9yIHN5cy9iaXR5cGVzLmgKY29uZmlndXJlOjE4NDUw OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODQ3OTogY2hlY2tpbmcgZm9yIGJpdCBzaXplIG9mIHB0 cmRpZmZfdApjb25maWd1cmU6MTg0ODQ6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAt TzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxODQ4NDogJD8gPSAw CmNvbmZpZ3VyZToxODQ4NDogLi9jb25mdGVzdApjb25maWd1cmU6MTg0ODQ6ICQ/ID0gMApjb25m aWd1cmU6MTg1MDU6IHJlc3VsdDogNjQKY29uZmlndXJlOjE4NDc5OiBjaGVja2luZyBmb3IgYml0 IHNpemUgb2Ygc2l6ZV90CmNvbmZpZ3VyZToxODQ4NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjE4NDg0 OiAkPyA9IDAKY29uZmlndXJlOjE4NDg0OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToxODQ4NDogJD8g PSAwCmNvbmZpZ3VyZToxODUwNTogcmVzdWx0OiA2NApjb25maWd1cmU6MTg1MjQ6IGNoZWNraW5n IGZvciBiaXQgc2l6ZSBvZiBzaWdfYXRvbWljX3QKY29uZmlndXJlOjE4NTI5OiBnY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApj b25maWd1cmU6MTg1Mjk6ICQ/ID0gMApjb25maWd1cmU6MTg1Mjk6IC4vY29uZnRlc3QKY29uZmln dXJlOjE4NTI5OiAkPyA9IDAKY29uZmlndXJlOjE4NTUwOiByZXN1bHQ6IDMyCmNvbmZpZ3VyZTox ODUyNDogY2hlY2tpbmcgZm9yIGJpdCBzaXplIG9mIHdjaGFyX3QKY29uZmlndXJlOjE4NTI5OiBn Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVh ZCAgPiY1IApjb25maWd1cmU6MTg1Mjk6ICQ/ID0gMApjb25maWd1cmU6MTg1Mjk6IC4vY29uZnRl c3QKY29uZmlndXJlOjE4NTI5OiAkPyA9IDAKY29uZmlndXJlOjE4NTUwOiByZXN1bHQ6IDMyCmNv bmZpZ3VyZToxODUyNDogY2hlY2tpbmcgZm9yIGJpdCBzaXplIG9mIHdpbnRfdApjb25maWd1cmU6 MTg1Mjk6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMg LWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxODUyOTogJD8gPSAwCmNvbmZpZ3VyZToxODUyOTog Li9jb25mdGVzdApjb25maWd1cmU6MTg1Mjk6ICQ/ID0gMApjb25maWd1cmU6MTg1NTA6IHJlc3Vs dDogMzIKY29uZmlndXJlOjE4NTY4OiBjaGVja2luZyB3aGV0aGVyIHNpZ19hdG9taWNfdCBpcyBz aWduZWQKY29uZmlndXJlOjE4NTk1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODU5NTogJD8gPSAwCmNvbmZpZ3VyZToxODYwNTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE4NTY4OiBjaGVja2luZyB3aGV0aGVyIHdjaGFyX3QgaXMgc2lnbmVk CmNvbmZpZ3VyZToxODU5NTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MTg1OTU6ICQ/ID0gMApjb25maWd1cmU6MTg2MDU6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxODU2ODogY2hlY2tpbmcgd2hldGhlciB3aW50X3QgaXMgc2lnbmVkCmNvbmZp Z3VyZToxODU5NTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6MTg1OTU6ICQ/ID0gMApjb25maWd1cmU6MTg2MDU6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxODYyNzogY2hlY2tpbmcgZm9yIHB0cmRpZmZfdCBpbnRlZ2VyIGxpdGVyYWwgc3VmZml4 CmNvbmZpZ3VyZToxODY3MzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOjIxNDogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnZm9vJwpj b25mdGVzdC5jOjIxMzogZXJyb3I6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdmb28nIHdhcyBo ZXJlCmNvbmZpZ3VyZToxODY3MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAx CnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAx CnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1Q TF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2Rl ZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFW RV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1F UyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU SUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJ TkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VU U1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEK fCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2Rl ZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhB VkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVU X1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8 ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JL IDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RF U0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJy IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xB U0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tF VFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIg JzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHct PnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNF X1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElS RUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAo X2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5E X0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUg UFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJ UlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlm IChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9 IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlf TkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAj ZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5f YmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktT IDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZp bmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNB QkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklH SFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwg I2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFU SU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJ T05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5l IEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf TE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZF X0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgQklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJ WkVfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklU U0laRU9GX1dDSEFSX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5l IEhBVkVfU0lHTkVEX1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9U IDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8IAp8ICAgLyogQlNEL09TIDQuMC4xIGhhcyBhIGJ1ZzogPHN0ZGRlZi5oPiwgPHN0ZGlvLmg+ IGFuZCA8dGltZS5oPiBtdXN0IGJlCnwgICAgICBpbmNsdWRlZCBiZWZvcmUgPHdjaGFyLmg+LiAg Ki8KfCAgICNpbmNsdWRlIDxzdGRkZWYuaD4KfCAgICNpbmNsdWRlIDxzaWduYWwuaD4KfCAgICNp ZiBIQVZFX1dDSEFSX0gKfCAgICMgaW5jbHVkZSA8c3RkaW8uaD4KfCAgICMgaW5jbHVkZSA8dGlt ZS5oPgp8ICAgIyBpbmNsdWRlIDx3Y2hhci5oPgp8ICAgI2VuZGlmCnwgCnwgICAgICAgICAgICAg ICBleHRlcm4gcHRyZGlmZl90IGZvbzsKfCAgICAgICAgICAgICAgIGV4dGVybiBpbnQgZm9vOwp8 IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTox ODY3MzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6MTg2NzM6ICQ/ID0gMApjb25maWd1cmU6MTg2ODI6IHJlc3VsdDogbApjb25maWd1cmU6MTg2 Mjc6IGNoZWNraW5nIGZvciBzaXplX3QgaW50ZWdlciBsaXRlcmFsIHN1ZmZpeApjb25maWd1cmU6 MTg2NzM6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzoyMTU6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2ZvbycKY29uZnRlc3QuYzoy MTQ6IGVycm9yOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnZm9vJyB3YXMgaGVyZQpjb25maWd1 cmU6MTg2NzM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJl bWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1Ag MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9T RU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZp bmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9M T05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUg VEVSTV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8 ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBN QUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9M UkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05G IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hV VERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVm aW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01F TUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBI QVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdS UF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09Q RU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVm aW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUg SEFWRV9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMg MQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEK fCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2Rl ZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElP TiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVm aW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZp bmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8 ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAw CnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVAp CnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2Rl ZmluZSBET05UX1JFT1BFTl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9k ZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJ T04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVU VEVSICdwJwp8ICNkZWZpbmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAo JmZkLCAmc2xhdmUsIHB0eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBl bWFjc19jbG9zZSAoc2xhdmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5U RiAvKiovCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5E SU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8 ICNkZWZpbmUgVEFCMyBPWFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmlu ZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNU RU0gLyoqLwp8ICNkZWZpbmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVB RCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmln aHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVS TV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1h cHBsZS1kYXJ3aW4xMi4xLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdp dGgtbnMnICctLWVuYWJsZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVT IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNk ZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAx CnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVO ViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEJJVFNJWkVPRl9QVFJESUZGX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSVpFX1QgNjQKfCAj ZGVmaW5lIEJJVFNJWkVPRl9TSUdfQVRPTUlDX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XQ0hB Ul9UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0lOVF9UIDMyCnwgI2RlZmluZSBIQVZFX1NJR05F RF9TSUdfQVRPTUlDX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCnwgI2RlZmlu ZSBIQVZFX1NJR05FRF9XSU5UX1QgMQp8ICNkZWZpbmUgUFRSRElGRl9UX1NVRkZJWCBsCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICAgLyogQlNEL09TIDQuMC4xIGhhcyBhIGJ1ZzogPHN0 ZGRlZi5oPiwgPHN0ZGlvLmg+IGFuZCA8dGltZS5oPiBtdXN0IGJlCnwgICAgICBpbmNsdWRlZCBi ZWZvcmUgPHdjaGFyLmg+LiAgKi8KfCAgICNpbmNsdWRlIDxzdGRkZWYuaD4KfCAgICNpbmNsdWRl IDxzaWduYWwuaD4KfCAgICNpZiBIQVZFX1dDSEFSX0gKfCAgICMgaW5jbHVkZSA8c3RkaW8uaD4K fCAgICMgaW5jbHVkZSA8dGltZS5oPgp8ICAgIyBpbmNsdWRlIDx3Y2hhci5oPgp8ICAgI2VuZGlm CnwgCnwgICAgICAgICAgICAgICBleHRlcm4gc2l6ZV90IGZvbzsKfCAgICAgICAgICAgICAgIGV4 dGVybiB1bnNpZ25lZCBpbnQgZm9vOwp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxODY3MzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTg2NzM6ICQ/ID0gMApjb25maWd1cmU6MTg2ODI6 IHJlc3VsdDogdWwKY29uZmlndXJlOjE4Njk5OiBjaGVja2luZyBmb3Igc2lnX2F0b21pY190IGlu dGVnZXIgbGl0ZXJhbCBzdWZmaXgKY29uZmlndXJlOjE4NzQ1OiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODc0NTogJD8gPSAwCmNvbmZpZ3Vy ZToxODc1NDogcmVzdWx0OiAKY29uZmlndXJlOjE4Njk5OiBjaGVja2luZyBmb3Igd2NoYXJfdCBp bnRlZ2VyIGxpdGVyYWwgc3VmZml4CmNvbmZpZ3VyZToxODc0NTogZ2NjIC1zdGQ9Z251OTkgLWMg LWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTg3NDU6ICQ/ID0gMApjb25maWd1 cmU6MTg3NTQ6IHJlc3VsdDogCmNvbmZpZ3VyZToxODY5OTogY2hlY2tpbmcgZm9yIHdpbnRfdCBp bnRlZ2VyIGxpdGVyYWwgc3VmZml4CmNvbmZpZ3VyZToxODc0NTogZ2NjIC1zdGQ9Z251OTkgLWMg LWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTg3NDU6ICQ/ID0gMApjb25maWd1 cmU6MTg3NTQ6IHJlc3VsdDogCmNvbmZpZ3VyZToxODk3MDogY2hlY2tpbmcgd2hldGhlciBsc3Rh dCBjb3JyZWN0bHkgaGFuZGxlcyB0cmFpbGluZyBzbGFzaApjb25maWd1cmU6MTkwMDM6IGdjYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+ JjUgCmNvbmZpZ3VyZToxOTAwMzogJD8gPSAwCmNvbmZpZ3VyZToxOTAwMzogLi9jb25mdGVzdApj b25maWd1cmU6MTkwMDM6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3Rh dHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2Rl ZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4i CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFM TE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9F WEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BF RURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05B TUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhB VkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxP Q0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElS IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwg I2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJ RCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhB VkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dF VERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwg I2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZF X0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwg I2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNk ZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBI QVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUg QU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9S RU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAj ZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBm b3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAj ZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZl LCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2Ug KHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNk ZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRf Q09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRB QjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VU Sk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAj ZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZp bmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEy IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJu c3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2lu MTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1l bmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf Qzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUg X19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZp bmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBCSVRTSVpFT0Zf UFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2RlZmluZSBCSVRT SVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJfVCAzMgp8ICNk ZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURfU0lHX0FUT01J Q19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdO RURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZpbmUgU0laRV9U X1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVmaW5lIFdDSEFS X1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGlu Y2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAj IGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMg aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZk ZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYm IGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYK fCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8 ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gK fCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gK fCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwg IyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0cnVj dCBzdGF0IHNidWY7CnwgICAgICAgICAgICAgICAvKiBMaW51eCB3aWxsIGRlcmVmZXJlbmNlIHRo ZSBzeW1saW5rIGFuZCBmYWlsLCBhcyByZXF1aXJlZCBieQp8ICAgICAgICAgICAgICAgICAgUE9T SVguICBUaGF0IGlzIGJldHRlciBpbiB0aGUgc2Vuc2UgdGhhdCBpdCBtZWFucyB3ZSB3aWxsIG5v dAp8ICAgICAgICAgICAgICAgICAgaGF2ZSB0byBjb21waWxlIGFuZCB1c2UgdGhlIGxzdGF0IHdy YXBwZXIuICAqLwp8ICAgICAgICAgICAgICAgcmV0dXJuIGxzdGF0ICgiY29uZnRlc3Quc3ltLyIs ICZzYnVmKSA9PSAwOwp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTkwMjA6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE5MDYxOiBjaGVja2luZyB3aGV0aGVyIDxzeXMvc2VsZWN0 Lmg+IGlzIHNlbGYtY29udGFpbmVkCmNvbmZpZ3VyZToxOTA3ODogZ2NjIC1zdGQ9Z251OTkgLWMg LWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTkwNzg6ICQ/ID0gMApjb25maWd1 cmU6MTkwOTc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjE5MDk3OiAkPyA9IDAKY29uZmlndXJlOjE5MTI3OiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6 MTkxMjc6ICQ/ID0gMApjb25maWd1cmU6MTkxNDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTI3 OTogY2hlY2tpbmcgZm9yIHNpZ3NldF90CmNvbmZpZ3VyZToxOTI3OTogZ2NjIC1zdGQ9Z251OTkg LWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTkyNzk6ICQ/ID0gMApjb25m aWd1cmU6MTkyNzk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIxNjogZXJyb3I6IGV4 cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6MTkyNzk6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAj ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0Nf TUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJ TkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9U IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMg MQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5z dGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNk ZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2Rl ZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZpbmUgSEFWRV9I X0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVm aW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEK fCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZp bmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9G UkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVM SU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZp bmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9D Rk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09Q WVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwg I2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwg I2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RB VEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBF UlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBI QVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNF ICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2Vz IDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNU T1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19E SVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19B TllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBET05UX1JFT1BF Tl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAo aSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdwJwp8ICNkZWZp bmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAmc2xhdmUsIHB0 eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19jbG9zZSAoc2xh dmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmlu ZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VO VChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZpbmUgVEFCMyBP WFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAg MQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoqLwp8ICNkZWZp bmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBV U0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTIgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVy bS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1kYXJ3aW4xMi4x LjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMnICctLWVuYWJs ZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwgI2RlZmluZSBIQVZFX0dF VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBfX0dF VE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEJJVFNJWkVPRl9QVFJE SUZGX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSVpFX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVP Rl9TSUdfQVRPTUlDX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XQ0hBUl9UIDMyCnwgI2RlZmlu ZSBCSVRTSVpFT0ZfV0lOVF9UIDMyCnwgI2RlZmluZSBIQVZFX1NJR05FRF9TSUdfQVRPTUlDX1Qg MQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9X SU5UX1QgMQp8ICNkZWZpbmUgUFRSRElGRl9UX1NVRkZJWCBsCnwgI2RlZmluZSBTSVpFX1RfU1VG RklYIHVsCnwgI2RlZmluZSBTSUdfQVRPTUlDX1RfU1VGRklYIAp8ICNkZWZpbmUgV0NIQVJfVF9T VUZGSVggCnwgI2RlZmluZSBXSU5UX1RfU1VGRklYIAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAKfCAgICAgICAjaW5jbHVkZSA8c2lnbmFsLmg+CnwgICAgICAgLyogTWluZ3cgZGVmaW5lcyBz aWdzZXRfdCBub3QgaW4gPHNpZ25hbC5oPiwgYnV0IGluIDxzeXMvdHlwZXMuaD4uICAqLwp8ICAg ICAgICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlm IChzaXplb2YgKChzaWdzZXRfdCkpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZToxOTI3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5MzE3OiBjaGVj a2luZyBmb3Igc3RkYm9vbC5oIHRoYXQgY29uZm9ybXMgdG8gQzk5CmNvbmZpZ3VyZToxOTM4NDog Z2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTkz ODQ6ICQ/ID0gMApjb25maWd1cmU6MTkzOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTM5Mzog Y2hlY2tpbmcgZm9yIF9Cb29sCmNvbmZpZ3VyZToxOTM5MzogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTkzOTM6ICQ/ID0gMApjb25maWd1cmU6 MTkzOTM6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjI0NDogZXJyb3I6IGV4cGVjdGVk IGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6MTkzOTM6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJ T04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5l IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElM X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9D X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxB R1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNk ZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5o Igp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUg VVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBI QVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5P IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2Rl ZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZp bmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhB VkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NB TEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVm aW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVS TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZB RERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RF TVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFW RV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhB VkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dF VEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VS QVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04g MQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhB VkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJN SU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZ IDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmlu ZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBI QVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9M T0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9MVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAx CnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRf RlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BU WVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2 L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAj ZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NF UCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RP UllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQ KF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBET05UX1JFT1BFTl9QVFkg MQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5U RVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7 IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdwJwp8ICNkZWZpbmUgUFRZ X09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAmc2xhdmUsIHB0eV9uYW1l LCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19jbG9zZSAoc2xhdmUpOyB9 IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQVFlf VFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChGSUxF KSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZpbmUgVEFCMyBPWFRBQlMK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNk ZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoqLwp8ICNkZWZpbmUgREFS V0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVf U0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5oIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1kYXJ3aW4xMi4xLjAiCnwg I2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMnICctLWVuYWJsZS1ucy1z ZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9M RCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBfX0dFVE9QVF9Q UkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEJJVFNJWkVPRl9QVFJESUZGX1Qg NjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSVpFX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSUdf QVRPTUlDX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XQ0hBUl9UIDMyCnwgI2RlZmluZSBCSVRT SVpFT0ZfV0lOVF9UIDMyCnwgI2RlZmluZSBIQVZFX1NJR05FRF9TSUdfQVRPTUlDX1QgMQp8ICNk ZWZpbmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XSU5UX1Qg MQp8ICNkZWZpbmUgUFRSRElGRl9UX1NVRkZJWCBsCnwgI2RlZmluZSBTSVpFX1RfU1VGRklYIHVs CnwgI2RlZmluZSBTSUdfQVRPTUlDX1RfU1VGRklYIAp8ICNkZWZpbmUgV0NIQVJfVF9TVUZGSVgg CnwgI2RlZmluZSBXSU5UX1RfU1VGRklYIAp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBT VERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFp biAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoX0Jvb2wpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTkzOTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox OTQwOTogY2hlY2tpbmcgZm9yIHdjaGFyX3QKY29uZmlndXJlOjE5NDI2OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTQyNjogJD8gPSAwCmNv bmZpZ3VyZToxOTQzMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5NTQ0OiBjaGVja2luZyB3aGV0 aGVyIHN0cnVjdCB0bSBpcyBpbiBzeXMvdGltZS5oIG9yIHRpbWUuaApjb25maWd1cmU6MTk1NjQ6 IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE5 NTY0OiAkPyA9IDAKY29uZmlndXJlOjE5NTcxOiByZXN1bHQ6IHRpbWUuaApjb25maWd1cmU6MTk1 Nzk6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdG0udG1fem9uZQpjb25maWd1cmU6MTk1Nzk6IGdjYyAt c3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE5NTc5OiAk PyA9IDAKY29uZmlndXJlOjE5NTc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk2NDc6IGNoZWNr aW5nIGZvciBzdHJ1Y3QgdG0udG1fZ210b2ZmCmNvbmZpZ3VyZToxOTY0NzogZ2NjIC1zdGQ9Z251 OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTk2NDc6ICQ/ID0gMApj b25maWd1cmU6MTk2NDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTY1ODogY2hlY2tpbmcgd2hl dGhlciBzdHJ0b2ltYXggaXMgZGVjbGFyZWQKY29uZmlndXJlOjE5NjU4OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTY1ODogJD8gPSAwCmNv bmZpZ3VyZToxOTY1ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5NjcxOiBjaGVja2luZyB3aGV0 aGVyIHN0cnRvdW1heCBpcyBkZWNsYXJlZApjb25maWd1cmU6MTk2NzE6IGdjYyAtc3RkPWdudTk5 IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE5NjcxOiAkPyA9IDAKY29u ZmlndXJlOjE5NjcxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk2ODQ6IGNoZWNraW5nIHdoZXRo ZXIgc3RhdCBmaWxlLW1vZGUgbWFjcm9zIGFyZSBicm9rZW4KY29uZmlndXJlOjE5NzExOiBnY2Mg LXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTcxMTog JD8gPSAwCmNvbmZpZ3VyZToxOTcxODogcmVzdWx0OiBubwpjb25maWd1cmU6MTk3Mjg6IGNoZWNr aW5nIGZvciBtb2RlX3QKY29uZmlndXJlOjE5NzI4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTcyODogJD8gPSAwCmNvbmZpZ3VyZToxOTcy ODogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjUxOiBlcnJvcjogZXhwZWN0ZWQgZXhw cmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCmNvbmZpZ3VyZToxOTcyODogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFW RV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9V VE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwg I2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0Vf VE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVf TlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9T RVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUg SEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAx CnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJ RkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9H RVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAx CnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwg I2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9H UkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZP IDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8 ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhB VkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM VElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMg MQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZp bmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAj ZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxM X05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAx CnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVs bCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZp bmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcv Jwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9T RVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2Nf KSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwg I2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJV UFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8 IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BF TiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5V TEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hp bGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlf TkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgo RklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNk ZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmlu ZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5f T1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJ TyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVm aW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYt Y29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff SCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJ WCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgQklUU0laRU9GX1BUUkRJRkZfVCA2NAp8 ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJR19BVE9N SUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFSX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVP Rl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19BVE9NSUNfVCAxCnwgI2RlZmlu ZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwg I2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJWkVfVF9TVUZGSVggdWwKfCAj ZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2RlZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAj ZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5l IEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVf VE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPVU1BWCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz dGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3Rh dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gK fCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVN T1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJp bmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmlu Z3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRp bnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3Rk Lmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgobW9kZV90KSkp CnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5NzI4 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk3NDE6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdGltZXNw ZWMgaW4gPHRpbWUuaD4KY29uZmlndXJlOjE5NzU4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTc1ODogJD8gPSAwCmNvbmZpZ3VyZToxOTc2 NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5OTE5OiBjaGVja2luZyB3aGV0aGVyIHRoZSB1dGlt ZXMgZnVuY3Rpb24gd29ya3MKY29uZmlndXJlOjIwMDM0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjAw MzQ6ICQ/ID0gMApjb25maWd1cmU6MjAwMzQ6IC4vY29uZnRlc3QKY29uZmlndXJlOjIwMDM0OiAk PyA9IDAKY29uZmlndXJlOjIwMDQ0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAwNTc6IGNoZWNr aW5nIGZvciBzdHJ1Y3QgdXRpbWJ1Zgpjb25maWd1cmU6MjAwODA6IGdjYyAtc3RkPWdudTk5IC1j IC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIwMDgwOiAkPyA9IDAKY29uZmln dXJlOjIwMDg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAxMzc6IGNoZWNraW5nIGZvciBhbGxv Y2EgYXMgYSBjb21waWxlciBidWlsdC1pbgpjb25maWd1cmU6MjAxNjE6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyMDE5NzogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBjbG9ja19nZXR0 aW1lCmNvbmZpZ3VyZToyMDIyODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAg ICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKVW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hp dGVjdHVyZSB4ODZfNjQ6CiAgIl9jbG9ja19nZXR0aW1lIiwgcmVmZXJlbmNlZCBmcm9tOgogICAg ICBfbWFpbiBpbiBjY3ZIWnQwSC5vCmxkOiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRl Y3R1cmUgeDg2XzY0CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3Vy ZToyMDIyODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVm aW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZF X0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xP TkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBU RVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwg I2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1B SUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVU RE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lH TkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEK fCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwg I2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEK fCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZp bmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf U1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVN QUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNk ZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQ X1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BF TlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAx CnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5l IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QK fCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9O IDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZp bmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmlu ZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwg I2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAK fCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkK fCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVm aW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rl di9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElP TiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRU RVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgm ZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVt YWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRG IC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJ TkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwg I2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5l IEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RF TSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFE IDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdo dCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJN X0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFw cGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0 aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAj ZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEK fCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5W IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg QklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNk ZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFS X1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVE X1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5l IEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVm aW5lIFNJWkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2Rl ZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBI QVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9U TV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlk ZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAg ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw bHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFy IGNsb2NrX2dldHRpbWUgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gY2xvY2tfZ2V0 dGltZSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIwMjI4OiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scnQgIC1scHRocmVh ZCAgPiY1IApsZDogbGlicmFyeSBub3QgZm91bmQgZm9yIC1scnQKY29sbGVjdDI6IGxkIHJldHVy bmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjIwMjI4OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQu Mi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRM X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V VFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAx CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJf U0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hB VkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5l IFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lU X1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwg I2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VU UlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAx CnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dF VENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklO Rk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIg MQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNk ZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVm aW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhB VkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUg MQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVm aW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5l IEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQg MQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNk ZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmlu ZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1Ig MQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUg SEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUg X19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAx CnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVm aW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNk ZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VS X0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2Rl ZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18p ICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19E SVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBV VCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsr KQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7 IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVM TCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkK fCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQ UklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+ X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmluZSBH Q19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJTRDRf MiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAvKiov CnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAj ZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250YWlu ZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8K fCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2RlZmlu ZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19UIDMy CnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJTlRf VCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhBVkVf U0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVmaW5l IFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZpbmUg U0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZpbmUg V0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9f Qk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1f VE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRP RkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg ZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgY2xvY2tfZ2V0dGltZSAoKTsKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHJldHVybiBjbG9ja19nZXR0aW1lICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MjAyMjg6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAg IGNvbmZ0ZXN0LmMgLWxwb3NpeDQgIC1scHRocmVhZCAgPiY1IApsZDogbGlicmFyeSBub3QgZm91 bmQgZm9yIC1scG9zaXg0CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp Z3VyZToyMDIyODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BP UCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAj ZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZF X0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmlu ZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmlu ZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAx CnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5l IE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUg SEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZF X0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENP TkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9T SFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RS U0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRP IDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAx CnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S IDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf TUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8 ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5l IEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJ TFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQ R1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf T1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lN TElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1F UyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMg MQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNU SU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2Rl ZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29z CnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18p IDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NF UCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAj ZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAi L2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJB VElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9M RVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5 ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNl IGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJ TlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBF TkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2Up CnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVm aW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZ U1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05S RUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHly aWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBU RVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2 LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0t d2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVO VVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwg I2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZ IDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VU RU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdO RURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgQklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8 ICNkZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dD SEFSX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lH TkVEX1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVm aW5lIEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAj ZGVmaW5lIFNJWkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwg I2RlZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmlu ZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFW RV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVy cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBV c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBj aGFyIGNsb2NrX2dldHRpbWUgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gY2xvY2tf Z2V0dGltZSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIwMjQ1OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToyMDI1NzogY2hlY2tpbmcgZm9yIGNsb2NrX2dldHRpbWUKY29uZmln dXJlOjIwMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVz dC5jIC1scHRocmVhZCAgPiY1IApVbmRlZmluZWQgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4 Nl82NDoKICAiX2Nsb2NrX2dldHRpbWUiLCByZWZlcmVuY2VkIGZyb206CiAgICAgIF9tYWluIGlu IGNjVWpnMEVFLm8KbGQ6IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFyY2hpdGVjdHVyZSB4ODZf NjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjIwMjU3OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2Rl ZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4i CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFM TE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9F WEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BF RURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05B TUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhB VkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxP Q0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElS IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwg I2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJ RCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhB VkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dF VERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwg I2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZF X0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwg I2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNk ZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBI QVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUg QU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9S RU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAj ZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBm b3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAj ZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZl LCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2Ug KHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNk ZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRf Q09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRB QjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VU Sk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAj ZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZp bmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEy IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJu c3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2lu MTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1l bmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf Qzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUg X19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZp bmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBCSVRTSVpFT0Zf UFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2RlZmluZSBCSVRT SVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJfVCAzMgp8ICNk ZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURfU0lHX0FUT01J Q19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdO RURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZpbmUgU0laRV9U X1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVmaW5lIFdDSEFS X1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5lIEhBVkVfU0lHU0VU X1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8 ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19V VElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBjbG9ja19nZXR0aW1l IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgY2xv Y2tfZ2V0dGltZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFy ZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGNsb2NrX2dldHRpbWUgaW5ub2N1b3VzX2Ns b2NrX2dldHRpbWUKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9z IGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3 aXRoIGNoYXIgY2xvY2tfZ2V0dGltZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+ IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0 cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZk ZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxh c3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgY2xvY2tfZ2V0dGltZQp8IAp8IC8qIE92ZXJy aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVz ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8 ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh cHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNo YXIgY2xvY2tfZ2V0dGltZSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMg Zm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdp dGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0 aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAq Lwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9jbG9ja19nZXR0aW1lIHx8IGRlZmluZWQgX19zdHViX19f Y2xvY2tfZ2V0dGltZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCByZXR1cm4gY2xvY2tfZ2V0dGltZSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjIwMjU3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMDI1NzogY2hlY2tpbmcgZm9yIGNsb2Nr X3NldHRpbWUKY29uZmlndXJlOjIwMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMg LU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApVbmRlZmluZWQgc3ltYm9scyBmb3Ig YXJjaGl0ZWN0dXJlIHg4Nl82NDoKICAiX2Nsb2NrX3NldHRpbWUiLCByZWZlcmVuY2VkIGZyb206 CiAgICAgIF9tYWluIGluIGNjR3VEbzFHLm8KbGQ6IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFy Y2hpdGVjdHVyZSB4ODZfNjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29u ZmlndXJlOjIwMjU3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0Vf UE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5l IEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVm aW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09B IDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRI Q09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9T VFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5E VE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwg I2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUg SEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJ WF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAx CnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZp bmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19C VUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdF VFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJ WF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwg I2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVm aW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9T WU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VU UyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0 cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRF Q1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwg I2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAj ZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vj b3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9j XykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllf U0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8 ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRF UkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZ X0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5w dHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVs c2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQ UklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUg UEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFz ZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNk ZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0Rf U1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklP TlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29w eXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkz ODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAn LS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9N RU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09O TFkgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9H RVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJ R05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0 CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0Zf V0NIQVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9T SUdORURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNk ZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8 ICNkZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NVRkZJWCAK fCAjZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVm aW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBI QVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmlu ZSBjbG9ja19zZXR0aW1lIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMu aD4gZGVjbGFyZXMgY2xvY2tfc2V0dGltZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGNsb2NrX3NldHRp bWUgaW5ub2N1b3VzX2Nsb2NrX3NldHRpbWUKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY2xvY2tfc2V0dGltZSAoKTsgYmVsb3cuCnwgICAgIFBy ZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2lu Y2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJz LiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNl CnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgY2xvY2tfc2V0dGlt ZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu IGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJD Igp8ICNlbmRpZgp8IGNoYXIgY2xvY2tfc2V0dGltZSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFy eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRv IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5h bWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9jbG9ja19zZXR0aW1lIHx8IGRl ZmluZWQgX19zdHViX19fY2xvY2tfc2V0dGltZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gY2xvY2tfc2V0dGltZSAoKTsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjIwMjU3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMDI5NjogY2hl Y2tpbmcgd2hldGhlciBkdXAyIHdvcmtzCmNvbmZpZ3VyZToyMDM1MDogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmln dXJlOjIwMzUwOiAkPyA9IDAKY29uZmlndXJlOjIwMzUwOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToy MDM1MDogJD8gPSAwCmNvbmZpZ3VyZToyMDM2MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwNDE2 OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGJhY2t0cmFjZV9zeW1ib2xzX2ZkCmNv bmZpZ3VyZToyMDQ0NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29u ZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIwNDQ3OiAkPyA9IDAKY29uZmlndXJl OjIwNDY0OiByZXN1bHQ6IG5vbmUgcmVxdWlyZWQKY29uZmlndXJlOjIwNTE2OiBjaGVja2luZyBm b3IgZ2V0bG9hZGF2Zwpjb25maWd1cmU6MjA1MTY6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMDUxNjog JD8gPSAwCmNvbmZpZ3VyZToyMDUxNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwODc0OiBjaGVj a2luZyBzeXMvbG9hZGF2Zy5oIHVzYWJpbGl0eQpjb25maWd1cmU6MjA4NzQ6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyNTI6MjU6IGVycm9y OiBzeXMvbG9hZGF2Zy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToyMDg3 NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFy d2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZF X01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhB VkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9f X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQURE UlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hF QURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmlu ZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNF X0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9T RURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDgg MQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNk ZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZF X0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAx CnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVm aW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmlu ZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFW RV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAx CnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04g MQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUg SEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJ TkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQg MQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEK fCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FM QVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZp bmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVf U05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhB VkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVm aW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAj ZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVM TF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJw cm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmlu ZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVm aW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVm aW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERP TlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQg aTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3An CnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZz bGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Ns b3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8K fCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VU UFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmlu ZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf X1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiov CnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAj ZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRh cndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycg Jy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVm aW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAj ZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgQklUU0la RU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUg QklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFSX1QgMzIK fCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19B VE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVf U0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJ WkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2RlZmluZSBX Q0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBIQVZFX1NJ R1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05F IDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lN QVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1 ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGlu Y2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYg SEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRl ZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAj IGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMg aW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAj IGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAj IGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBp bmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL2xvYWRhdmcuaD4KY29u ZmlndXJlOjIwODc0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMDg3NDogY2hlY2tpbmcgc3lzL2xv YWRhdmcuaCBwcmVzZW5jZQpjb25maWd1cmU6MjA4NzQ6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNv bmZ0ZXN0LmM6MjE5OjI1OiBlcnJvcjogc3lzL2xvYWRhdmcuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQpjb25maWd1cmU6MjA4NzQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmlu ZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRP UFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZp bmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19X QUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0gg MQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVH RVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01B TExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JB UlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5T X0lNUExfQ09DT0EgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElC TSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5l IEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9V VElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAj ZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVf R0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZF X0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9H RVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9D RlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRX RCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwg I2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmlu ZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVf SU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9f Q09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0 X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5l IENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9T T0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBD SEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1F IHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RF VklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09 IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9T RVAgKF9jXykpCnwgI2RlZmluZSBET05UX1JFT1BFTl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9T T1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVm aW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmlu ZSBGSVJTVF9QVFlfTEVUVEVSICdwJwp8ICNkZWZpbmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZl OyBpZiAob3BlbnB0eSAoJmZkLCAmc2xhdmUsIHB0eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkg ZmQgPSAtMTsgZWxzZSBlbWFjc19jbG9zZSAoc2xhdmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUg UFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiov CnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxF KS0+X2JmLl9iYXNlKQp8ICNkZWZpbmUgVEFCMyBPWFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9X T1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAj ZGVmaW5lIEJTRF9TWVNURU0gLyoqLwp8ICNkZWZpbmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5l IFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09Q WVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Igp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklH VVJBVElPTiAiaTM4Ni1hcHBsZS1kYXJ3aW4xMi4xLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdf T1BUSU9OUyAiICctLXdpdGgtbnMnICctLWVuYWJsZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2Rl ZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSTU9ERSAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VU T1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUg SEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEJJVFNJWkVPRl9QVFJESUZGX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVP Rl9TSVpFX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSUdfQVRPTUlDX1QgMzIKfCAjZGVmaW5l IEJJVFNJWkVPRl9XQ0hBUl9UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0lOVF9UIDMyCnwgI2Rl ZmluZSBIQVZFX1NJR05FRF9TSUdfQVRPTUlDX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0NI QVJfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XSU5UX1QgMQp8ICNkZWZpbmUgUFRSRElGRl9U X1NVRkZJWCBsCnwgI2RlZmluZSBTSVpFX1RfU1VGRklYIHVsCnwgI2RlZmluZSBTSUdfQVRPTUlD X1RfU1VGRklYIAp8ICNkZWZpbmUgV0NIQVJfVF9TVUZGSVggCnwgI2RlZmluZSBXSU5UX1RfU1VG RklYIAp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEK fCAjZGVmaW5lIEhBVkVfVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9V VElNQlVGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvbG9hZGF2Zy5oPgpjb25maWd1 cmU6MjA4NzQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjIwODc0OiBjaGVja2luZyBmb3Igc3lzL2xv YWRhdmcuaApjb25maWd1cmU6MjA4NzQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjIwODg5OiBjaGVj a2luZyB3aGV0aGVyIGdldGxvYWRhdmcgaXMgZGVjbGFyZWQKY29uZmlndXJlOjIwODg5OiBnY2Mg LXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMDg4OTog JD8gPSAwCmNvbmZpZ3VyZToyMDg4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMTM5OiBjaGVj a2luZyB3aGV0aGVyIGdldHRpbWVvZmRheSBjbG9iYmVycyBsb2NhbHRpbWUgYnVmZmVyCmNvbmZp Z3VyZToyMTE3ODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRl c3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIxMTc4OiAkPyA9IDAKY29uZmlndXJlOjIx MTc4OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMTE3ODogJD8gPSAwCmNvbmZpZ3VyZToyMTE4ODog cmVzdWx0OiBubwpjb25maWd1cmU6MjEyMDg6IGNoZWNraW5nIGZvciBnZXR0aW1lb2ZkYXkgd2l0 aCBQT1NJWCBzaWduYXR1cmUKY29uZmlndXJlOjIxMjM2OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMg LU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMTIzNjogJD8gPSAwCmNvbmZpZ3VyZToy MTI2MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMzgyOiBjaGVja2luZyBmb3Igd29ya2luZyBt a3RpbWUKY29uZmlndXJlOjIxNTg3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8y ICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjE1ODc6ICQ/ID0gMApj b25maWd1cmU6MjE1ODc6IC4vY29uZnRlc3QKY29uZmlndXJlOjIxNTg3OiAkPyA9IDEKY29uZmln dXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVm aW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2Rl ZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5l IF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwg I2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dF VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2Rl ZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNU IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZf SCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5U RUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1f TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQ IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExf QkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUg TlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZp bmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZF X1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8 ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhB VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZF X0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5D IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVm aW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2Rl ZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZF X0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dF VFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVm aW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhB VkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9M U1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVm aW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJp Y3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZp bmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZF X1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNF UENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05B TUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNf REVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykg PT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZ X1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNk ZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVm aW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xh dmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0x KSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmlu ZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8q Ki8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJ TEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1Q X1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8 ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZp bmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBD T1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAj ZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9H RVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgQklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0la RU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZp bmUgQklUU0laRU9GX1dDSEFSX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAj ZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9X Q0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZG X1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJWkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9N SUNfVF9TVUZGSVggCnwgI2RlZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9T VUZGSVggCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUg MQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEK fCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElN RVpPTkUgdm9pZAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBUZXN0IHByb2dyYW0gZnJv bSBQYXVsIEVnZ2VydCBhbmQgVG9ueSBMZW5laXMuICAqLwp8ICNpbmNsdWRlIDxsaW1pdHMuaD4K fCAjaW5jbHVkZSA8c3RkbGliLmg+CnwgI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCAjaWZkZWYgSEFW RV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2lmbmRlZiBI QVZFX0FMQVJNCnwgIyBkZWZpbmUgYWxhcm0oWCkgLyogZW1wdHkgKi8KfCAjZW5kaWYKfCAKfCAv KiBXb3JrIGFyb3VuZCByZWRlZmluaXRpb24gdG8gcnBsX3B1dGVudiBieSBvdGhlciBjb25maWcg dGVzdHMuICAqLwp8ICN1bmRlZiBwdXRlbnYKfCAKfCBzdGF0aWMgdGltZV90IHRpbWVfdF9tYXg7 Cnwgc3RhdGljIHRpbWVfdCB0aW1lX3RfbWluOwp8IAp8IC8qIFZhbHVlcyB3ZSdsbCB1c2UgdG8g c2V0IHRoZSBUWiBlbnZpcm9ubWVudCB2YXJpYWJsZS4gICovCnwgc3RhdGljIGNoYXIgKnR6X3N0 cmluZ3NbXSA9IHsKfCAgIChjaGFyICopIDAsICJUWj1HTVQwIiwgIlRaPUpTVC05IiwKfCAgICJU Wj1FU1QrM0VEVCsyLE0xMC4xLjAvMDA6MDA6MDAsTTIuMy4wLzAwOjAwOjAwIgp8IH07CnwgI2Rl ZmluZSBOX1NUUklOR1MgKHNpemVvZiAodHpfc3RyaW5ncykgLyBzaXplb2YgKHR6X3N0cmluZ3Nb MF0pKQp8IAp8IC8qIFJldHVybiAwIGlmIG1rdGltZSBmYWlscyB0byBjb252ZXJ0IGEgZGF0ZSBp biB0aGUgc3ByaW5nLWZvcndhcmQgZ2FwLgp8ICAgIEJhc2VkIG9uIGEgcHJvYmxlbSByZXBvcnQg ZnJvbSBBbmRyZWFzIEphZWdlci4gICovCnwgc3RhdGljIGludAp8IHNwcmluZ19mb3J3YXJkX2dh cCAoKQp8IHsKfCAgIC8qIGdsaWJjICh1cCB0byBhYm91dCAxOTk4LTEwLTA3KSBmYWlsZWQgdGhp cyB0ZXN0LiAqLwp8ICAgc3RydWN0IHRtIHRtOwp8IAp8ICAgLyogVXNlIHRoZSBwb3J0YWJsZSBQ T1NJWC4xIHNwZWNpZmljYXRpb24gIlRaPVBTVDhQRFQsTTQuMS4wLE0xMC41LjAiCnwgICAgICBp bnN0ZWFkIG9mICJUWj1BbWVyaWNhL1ZhbmNvdXZlciIgaW4gb3JkZXIgdG8gZGV0ZWN0IHRoZSBi dWcgZXZlbgp8ICAgICAgb24gc3lzdGVtcyB0aGF0IGRvbid0IHN1cHBvcnQgdGhlIE9sc29uIGV4 dGVuc2lvbiwgb3IgZG9uJ3QgaGF2ZSB0aGUKfCAgICAgIGZ1bGwgem9uZWluZm8gdGFibGVzIGlu c3RhbGxlZC4gICovCnwgICBwdXRlbnYgKCJUWj1QU1Q4UERULE00LjEuMCxNMTAuNS4wIik7Cnwg CnwgICB0bS50bV95ZWFyID0gOTg7CnwgICB0bS50bV9tb24gPSAzOwp8ICAgdG0udG1fbWRheSA9 IDU7CnwgICB0bS50bV9ob3VyID0gMjsKfCAgIHRtLnRtX21pbiA9IDA7CnwgICB0bS50bV9zZWMg PSAwOwp8ICAgdG0udG1faXNkc3QgPSAtMTsKfCAgIHJldHVybiBta3RpbWUgKCZ0bSkgIT0gKHRp bWVfdCkgLTE7CnwgfQp8IAp8IHN0YXRpYyBpbnQKfCBta3RpbWVfdGVzdDEgKHRpbWVfdCBub3cp Cnwgewp8ICAgc3RydWN0IHRtICpsdDsKfCAgIHJldHVybiAhIChsdCA9IGxvY2FsdGltZSAoJm5v dykpIHx8IG1rdGltZSAobHQpID09IG5vdzsKfCB9CnwgCnwgc3RhdGljIGludAp8IG1rdGltZV90 ZXN0ICh0aW1lX3Qgbm93KQp8IHsKfCAgIHJldHVybiAobWt0aW1lX3Rlc3QxIChub3cpCnwgICAg ICAgICAgICYmIG1rdGltZV90ZXN0MSAoKHRpbWVfdCkgKHRpbWVfdF9tYXggLSBub3cpKQp8ICAg ICAgICAgICAmJiBta3RpbWVfdGVzdDEgKCh0aW1lX3QpICh0aW1lX3RfbWluICsgbm93KSkpOwp8 IH0KfCAKfCBzdGF0aWMgaW50CnwgaXJpeF82XzRfYnVnICgpCnwgewp8ICAgLyogQmFzZWQgb24g Y29kZSBmcm9tIEFyaWVsIEZhaWdvbi4gICovCnwgICBzdHJ1Y3QgdG0gdG07CnwgICB0bS50bV95 ZWFyID0gOTY7CnwgICB0bS50bV9tb24gPSAzOwp8ICAgdG0udG1fbWRheSA9IDA7CnwgICB0bS50 bV9ob3VyID0gMDsKfCAgIHRtLnRtX21pbiA9IDA7CnwgICB0bS50bV9zZWMgPSAwOwp8ICAgdG0u dG1faXNkc3QgPSAtMTsKfCAgIG1rdGltZSAoJnRtKTsKfCAgIHJldHVybiB0bS50bV9tb24gPT0g MiAmJiB0bS50bV9tZGF5ID09IDMxOwp8IH0KfCAKfCBzdGF0aWMgaW50CnwgYmlndGltZV90ZXN0 IChpbnQgaikKfCB7CnwgICBzdHJ1Y3QgdG0gdG07CnwgICB0aW1lX3Qgbm93Owp8ICAgdG0udG1f eWVhciA9IHRtLnRtX21vbiA9IHRtLnRtX21kYXkgPSB0bS50bV9ob3VyID0gdG0udG1fbWluID0g dG0udG1fc2VjID0gajsKfCAgIG5vdyA9IG1rdGltZSAoJnRtKTsKfCAgIGlmIChub3cgIT0gKHRp bWVfdCkgLTEpCnwgICAgIHsKfCAgICAgICBzdHJ1Y3QgdG0gKmx0ID0gbG9jYWx0aW1lICgmbm93 KTsKfCAgICAgICBpZiAoISAobHQKfCAgICAgICAgICAgICAgJiYgbHQtPnRtX3llYXIgPT0gdG0u dG1feWVhcgp8ICAgICAgICAgICAgICAmJiBsdC0+dG1fbW9uID09IHRtLnRtX21vbgp8ICAgICAg ICAgICAgICAmJiBsdC0+dG1fbWRheSA9PSB0bS50bV9tZGF5CnwgICAgICAgICAgICAgICYmIGx0 LT50bV9ob3VyID09IHRtLnRtX2hvdXIKfCAgICAgICAgICAgICAgJiYgbHQtPnRtX21pbiA9PSB0 bS50bV9taW4KfCAgICAgICAgICAgICAgJiYgbHQtPnRtX3NlYyA9PSB0bS50bV9zZWMKfCAgICAg ICAgICAgICAgJiYgbHQtPnRtX3lkYXkgPT0gdG0udG1feWRheQp8ICAgICAgICAgICAgICAmJiBs dC0+dG1fd2RheSA9PSB0bS50bV93ZGF5CnwgICAgICAgICAgICAgICYmICgobHQtPnRtX2lzZHN0 IDwgMCA/IC0xIDogMCA8IGx0LT50bV9pc2RzdCkKfCAgICAgICAgICAgICAgICAgICA9PSAodG0u dG1faXNkc3QgPCAwID8gLTEgOiAwIDwgdG0udG1faXNkc3QpKSkpCnwgICAgICAgICByZXR1cm4g MDsKfCAgICAgfQp8ICAgcmV0dXJuIDE7CnwgfQp8IAp8IHN0YXRpYyBpbnQKfCB5ZWFyXzIwNTBf dGVzdCAoKQp8IHsKfCAgIC8qIFRoZSBjb3JyZWN0IGFuc3dlciBmb3IgMjA1MC0wMi0wMSAwMDow MDowMCBpbiBQYWNpZmljIHRpbWUsCnwgICAgICBpZ25vcmluZyBsZWFwIHNlY29uZHMuICAqLwp8 ICAgdW5zaWduZWQgbG9uZyBpbnQgYW5zd2VyID0gMjUyNzMxNTIwMFVMOwp8IAp8ICAgc3RydWN0 IHRtIHRtOwp8ICAgdGltZV90IHQ7CnwgICB0bS50bV95ZWFyID0gMjA1MCAtIDE5MDA7CnwgICB0 bS50bV9tb24gPSAyIC0gMTsKfCAgIHRtLnRtX21kYXkgPSAxOwp8ICAgdG0udG1faG91ciA9IHRt LnRtX21pbiA9IHRtLnRtX3NlYyA9IDA7CnwgICB0bS50bV9pc2RzdCA9IC0xOwp8IAp8ICAgLyog VXNlIHRoZSBwb3J0YWJsZSBQT1NJWC4xIHNwZWNpZmljYXRpb24gIlRaPVBTVDhQRFQsTTQuMS4w LE0xMC41LjAiCnwgICAgICBpbnN0ZWFkIG9mICJUWj1BbWVyaWNhL1ZhbmNvdXZlciIgaW4gb3Jk ZXIgdG8gZGV0ZWN0IHRoZSBidWcgZXZlbgp8ICAgICAgb24gc3lzdGVtcyB0aGF0IGRvbid0IHN1 cHBvcnQgdGhlIE9sc29uIGV4dGVuc2lvbiwgb3IgZG9uJ3QgaGF2ZSB0aGUKfCAgICAgIGZ1bGwg em9uZWluZm8gdGFibGVzIGluc3RhbGxlZC4gICovCnwgICBwdXRlbnYgKCJUWj1QU1Q4UERULE00 LjEuMCxNMTAuNS4wIik7CnwgCnwgICB0ID0gbWt0aW1lICgmdG0pOwp8IAp8ICAgLyogQ2hlY2sg dGhhdCB0aGUgcmVzdWx0IGlzIGVpdGhlciBhIGZhaWx1cmUsIG9yIGNsb3NlIGVub3VnaAp8ICAg ICAgdG8gdGhlIGNvcnJlY3QgYW5zd2VyIHRoYXQgd2UgY2FuIGFzc3VtZSB0aGUgZGlzY3JlcGFu Y3kgaXMKfCAgICAgIGR1ZSB0byBsZWFwIHNlY29uZHMuICAqLwp8ICAgcmV0dXJuICh0ID09ICh0 aW1lX3QpIC0xCnwgICAgICAgICAgIHx8ICgwIDwgdCAmJiBhbnN3ZXIgLSAxMjAgPD0gdCAmJiB0 IDw9IGFuc3dlciArIDEyMCkpOwp8IH0KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICAgaW50IHJl c3VsdCA9IDA7CnwgICB0aW1lX3QgdCwgZGVsdGE7CnwgICBpbnQgaSwgajsKfCAgIGludCB0aW1l X3Rfc2lnbmVkX21hZ25pdHVkZSA9ICh0aW1lX3QpIH4gKHRpbWVfdCkgMCA8ICh0aW1lX3QpIC0x Owp8ICAgaW50IHRpbWVfdF9zaWduZWQgPSAhICgodGltZV90KSAwIDwgKHRpbWVfdCkgLTEpOwp8 IAp8ICAgLyogVGhpcyB0ZXN0IG1ha2VzIHNvbWUgYnVnZ3kgbWt0aW1lIGltcGxlbWVudGF0aW9u cyBsb29wLgp8ICAgICAgR2l2ZSB1cCBhZnRlciA2MCBzZWNvbmRzOyBhIG1rdGltZSBzbG93ZXIg dGhhbiB0aGF0CnwgICAgICBpc24ndCB3b3J0aCB1c2luZyBhbnl3YXkuICAqLwp8ICAgYWxhcm0g KDYwKTsKfCAKfCAgIHRpbWVfdF9tYXggPSAoISB0aW1lX3Rfc2lnbmVkCnwgICAgICAgICAgICAg ICAgID8gKHRpbWVfdCkgLTEKfCAgICAgICAgICAgICAgICAgOiAoKCgodGltZV90KSAxIDw8IChz aXplb2YgKHRpbWVfdCkgKiBDSEFSX0JJVCAtIDIpKSAtIDEpCnwgICAgICAgICAgICAgICAgICAg ICogMiArIDEpKTsKfCAgIHRpbWVfdF9taW4gPSAoISB0aW1lX3Rfc2lnbmVkCnwgICAgICAgICAg ICAgICAgID8gKHRpbWVfdCkgMAp8ICAgICAgICAgICAgICAgICA6IHRpbWVfdF9zaWduZWRfbWFn bml0dWRlCnwgICAgICAgICAgICAgICAgID8gfiAodGltZV90KSAwCnwgICAgICAgICAgICAgICAg IDogfiB0aW1lX3RfbWF4KTsKfCAKfCAgIGRlbHRhID0gdGltZV90X21heCAvIDk5NzsgLyogYSBz dWl0YWJsZSBwcmltZSBudW1iZXIgKi8KfCAgIGZvciAoaSA9IDA7IGkgPCBOX1NUUklOR1M7IGkr KykKfCAgICAgewp8ICAgICAgIGlmICh0el9zdHJpbmdzW2ldKQp8ICAgICAgICAgcHV0ZW52ICh0 el9zdHJpbmdzW2ldKTsKfCAKfCAgICAgICBmb3IgKHQgPSAwOyB0IDw9IHRpbWVfdF9tYXggLSBk ZWx0YSAmJiAocmVzdWx0ICYgMSkgPT0gMDsgdCArPSBkZWx0YSkKfCAgICAgICAgIGlmICghIG1r dGltZV90ZXN0ICh0KSkKfCAgICAgICAgICAgcmVzdWx0IHw9IDE7CnwgICAgICAgaWYgKChyZXN1 bHQgJiAyKSA9PSAwCnwgICAgICAgICAgICYmICEgKG1rdGltZV90ZXN0ICgodGltZV90KSAxKQp8 ICAgICAgICAgICAgICAgICAmJiBta3RpbWVfdGVzdCAoKHRpbWVfdCkgKDYwICogNjApKQp8ICAg ICAgICAgICAgICAgICAmJiBta3RpbWVfdGVzdCAoKHRpbWVfdCkgKDYwICogNjAgKiAyNCkpKSkK fCAgICAgICAgIHJlc3VsdCB8PSAyOwp8IAp8ICAgICAgIGZvciAoaiA9IDE7IChyZXN1bHQgJiA0 KSA9PSAwOyBqIDw8PSAxKQp8ICAgICAgICAgewp8ICAgICAgICAgICBpZiAoISBiaWd0aW1lX3Rl c3QgKGopKQp8ICAgICAgICAgICAgIHJlc3VsdCB8PSA0Owp8ICAgICAgICAgICBpZiAoSU5UX01B WCAvIDIgPCBqKQp8ICAgICAgICAgICAgIGJyZWFrOwp8ICAgICAgICAgfQp8ICAgICAgIGlmICgo cmVzdWx0ICYgOCkgPT0gMCAmJiAhIGJpZ3RpbWVfdGVzdCAoSU5UX01BWCkpCnwgICAgICAgICBy ZXN1bHQgfD0gODsKfCAgICAgfQp8ICAgaWYgKCEgaXJpeF82XzRfYnVnICgpKQp8ICAgICByZXN1 bHQgfD0gMTY7CnwgICBpZiAoISBzcHJpbmdfZm9yd2FyZF9nYXAgKCkpCnwgICAgIHJlc3VsdCB8 PSAzMjsKfCAgIGlmICghIHllYXJfMjA1MF90ZXN0ICgpKQp8ICAgICByZXN1bHQgfD0gNjQ7Cnwg ICByZXR1cm4gcmVzdWx0Owp8IH0KY29uZmlndXJlOjIxNTk4OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToyMTYzODogY2hlY2tpbmcgd2hldGhlciBzaWduYXR1cmUgb2YgcHNlbGVjdCBjb25mb3JtcyB0 byBQT1NJWApjb25maWd1cmU6MjE2NTg6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAt TzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMTY1ODogJD8gPSAw CmNvbmZpZ3VyZToyMTY2NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxNzE4OiBjaGVja2luZyB3 aGV0aGVyIHB0aHJlYWRfc2lnbWFzayB3b3JrcyB3aXRob3V0IC1scHRocmVhZApjb25maWd1cmU6 MjE3NDc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMg LWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMTc0NzogJD8gPSAwCmNvbmZpZ3VyZToyMTc0Nzog Li9jb25mdGVzdApjb25maWd1cmU6MjE3NDc6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhp dGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVm aW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVf TFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09O RiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NI VVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJT SUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8g MQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEK fCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig MQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9N RU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwg I2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlM VElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBH UlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1M SU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAx CnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNk ZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmlj dAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJ T04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2Rl ZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVm aW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MK fCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykg MAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQ KQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNk ZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIv ZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFU SU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xF VFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkg KCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2Ug ZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklO VEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVO RElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkK fCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZp bmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lT VEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJF QUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJp Z2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYt YXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13 aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5V UyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkg MQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05F RF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0Cnwg I2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NI QVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdO RURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZp bmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNk ZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAj ZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5l IEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZF X1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgX19HRVRP UFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxwdGhyZWFkLmg+CnwgI2luY2x1ZGUg PHNpZ25hbC5oPgp8ICNpbmNsdWRlIDxzdGRkZWYuaD4KfCBpbnQgbWFpbiAoKQp8IHsKfCAgIHNp Z3NldF90IHNldDsKfCAgIHNpZ2VtcHR5c2V0ICgmc2V0KTsKfCAgIHJldHVybiBwdGhyZWFkX3Np Z21hc2sgKDE3MjksICZzZXQsIE5VTEwpICE9IDA7CnwgfQpjb25maWd1cmU6MjE3NTg6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToyMTc3MDogY2hlY2tpbmcgd2hldGhlciBwdGhyZWFkX3NpZ21hc2sg cmV0dXJucyBlcnJvciBudW1iZXJzCmNvbmZpZ3VyZToyMTgwMjogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3Vy ZToyMTgwMjogJD8gPSAwCmNvbmZpZ3VyZToyMTgwMjogLi9jb25mdGVzdApjb25maWd1cmU6MjE4 MDI6ICQ/ID0gMApjb25maWd1cmU6MjE4MTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTgyNTog Y2hlY2tpbmcgd2hldGhlciBwdGhyZWFkX3NpZ21hc2sgdW5ibG9ja3Mgc2lnbmFscyBjb3JyZWN0 bHkKY29uZmlndXJlOjIxODc5OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAg ICBjb25mdGVzdC5jIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjIxODc5OiAkPyA9IDAKY29u ZmlndXJlOjIxODc5OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMTg3OTogJD8gPSAwCmNvbmZpZ3Vy ZToyMTg5MTogcmVzdWx0OiBndWVzc2luZyB5ZXMKY29uZmlndXJlOjIxOTM5OiBjaGVja2luZyB3 aGV0aGVyIHJlYWRsaW5rIHNpZ25hdHVyZSBpcyBjb3JyZWN0CmNvbmZpZ3VyZToyMTk1NzogZ2Nj IC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjE5NTc6 ICQ/ID0gMApjb25maWd1cmU6MjE5NjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTk2NjogY2hl Y2tpbmcgd2hldGhlciByZWFkbGluayBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoIGNvcnJlY3RseQpj b25maWd1cmU6MjE5OTY6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNv bmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMTk5NjogJD8gPSAwCmNvbmZpZ3Vy ZToyMTk5NjogLi9jb25mdGVzdApjb25maWd1cmU6MjE5OTY6ICQ/ID0gMQpjb25maWd1cmU6IHBy b2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9I IDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VO X0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVm aW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEK fCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEK fCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBM X0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwg I2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVm aW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZF X0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmlu ZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJ RkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElO RSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VO REdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRT UEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNF VCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEK fCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZp bmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUg SEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFW RV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRf U09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg MQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVT RVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIg X19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFT SF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VU UyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAn OicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+ cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0Vf U0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJF Q1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChf Y18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRf REVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQ VFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklS U1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYg KG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0g LTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9O QU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNk ZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9i Zi5fYmFzZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1Mg MQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmlu ZSBCU0RfU1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FC TEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdI VCAiQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAj ZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJ T04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElP TlMgIiAnLS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUg SEFWRV9NRU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk1PREUgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9M T05HX09OTFkgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVf REVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0la RV9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRT SVpFT0ZfV0NIQVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUg SEFWRV9TSUdORURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1Qg MQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZG SVggbAp8ICNkZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NV RkZJWCAKfCAjZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAK fCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2Rl ZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJV RiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZp bmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2 b2lkCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IGNoYXIgYnVmWzIwXTsKfCAgICAgICByZXR1cm4gcmVhZGxpbmsg KCJjb25mdGVzdC5sbmsyLyIsIGJ1Ziwgc2l6ZW9mIGJ1ZikgIT0gLTE7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToyMjAwNzogcmVzdWx0OiBubwpjb25maWd1cmU6MjIxMjM6IGNo ZWNraW5nIGZvciB2b2xhdGlsZSBzaWdfYXRvbWljX3QKY29uZmlndXJlOjIyMTIzOiBnY2MgLXN0 ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMjEyMzogJD8g PSAwCmNvbmZpZ3VyZToyMjEyMzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjI5OiBl cnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCmNvbmZpZ3VyZToyMjEy MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFy d2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZF X01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhB VkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9f X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQURE UlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hF QURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmlu ZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNF X0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9T RURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDgg MQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNk ZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZF X0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAx CnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVm aW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmlu ZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFW RV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAx CnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04g MQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUg SEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJ TkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQg MQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEK fCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FM QVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZp bmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVf U05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhB VkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVm aW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAj ZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVM TF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJw cm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmlu ZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVm aW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVm aW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERP TlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQg aTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3An CnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZz bGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Ns b3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8K fCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VU UFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmlu ZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf X1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiov CnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAj ZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRh cndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycg Jy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVm aW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAj ZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgQklUU0la RU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUg QklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFSX1QgMzIK fCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19B VE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVf U0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJ WkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2RlZmluZSBX Q0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBIQVZFX1NJ R1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05F IDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lN QVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJ WCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgUkVB RExJTktfVFJBSUxJTkdfU0xBU0hfQlVHIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwg I2luY2x1ZGUgPHNpZ25hbC5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVv ZiAoKHZvbGF0aWxlIHNpZ19hdG9taWNfdCkpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMjEyMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMTM5 OiBjaGVja2luZyBmb3Igc2lnaGFuZGxlcl90CmNvbmZpZ3VyZToyMjEzOTogZ2NjIC1zdGQ9Z251 OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAn bWFpbic6CmNvbmZ0ZXN0LmM6MjI5OiBlcnJvcjogJ3NpZ2hhbmRsZXJfdCcgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCmNvbmZ0ZXN0LmM6MjI5OiBlcnJvcjogKEVhY2gg dW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpjb25mdGVzdC5jOjIy OTogZXJyb3I6IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQpjb25maWd1cmU6MjIx Mzk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRh cndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFE RFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FE QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJ TEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9I RUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZp bmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VT RV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xP U0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4 IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZp bmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMg MQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdO IDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5l IEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JB TkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5X SU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lE IDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAx CnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhB VkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9B TEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNk ZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVm aW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBI QVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwg I2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5V TExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3Vi cHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZp bmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2Rl ZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2Rl ZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBE T05UX1JFT1BFTl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNw Igp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50 IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdw Jwp8ICNkZWZpbmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAm c2xhdmUsIHB0eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19j bG9zZSAoc2xhdmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiov CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09V VFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZp bmUgVEFCMyBPWFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoq Lwp8ICNkZWZpbmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwg I2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMp IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1k YXJ3aW4xMi4xLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMn ICctLWVuYWJsZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2Rl ZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEJJVFNJ WkVPRl9QVFJESUZGX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSVpFX1QgNjQKfCAjZGVmaW5l IEJJVFNJWkVPRl9TSUdfQVRPTUlDX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XQ0hBUl9UIDMy CnwgI2RlZmluZSBCSVRTSVpFT0ZfV0lOVF9UIDMyCnwgI2RlZmluZSBIQVZFX1NJR05FRF9TSUdf QVRPTUlDX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZF X1NJR05FRF9XSU5UX1QgMQp8ICNkZWZpbmUgUFRSRElGRl9UX1NVRkZJWCBsCnwgI2RlZmluZSBT SVpFX1RfU1VGRklYIHVsCnwgI2RlZmluZSBTSUdfQVRPTUlDX1RfU1VGRklYIAp8ICNkZWZpbmUg V0NIQVJfVF9TVUZGSVggCnwgI2RlZmluZSBXSU5UX1RfU1VGRklYIAp8ICNkZWZpbmUgSEFWRV9T SUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fWk9O RSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVG SVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIFJF QURMSU5LX1RSQUlMSU5HX1NMQVNIX0JVRyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8 ICNpbmNsdWRlIDxzaWduYWwuaD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXpl b2YgKHNpZ2hhbmRsZXJfdCkpCnwgCSByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjIyMTM5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMjE1MjogY2hlY2tpbmcgZm9y IHNvY2tsZW5fdApjb25maWd1cmU6MjIxNTI6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIyMTUyOiAkPyA9IDAKY29uZmlndXJlOjIyMTUyOiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzc6IGVycm9yOiBleHBlY3RlZCBleHByZXNz aW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjIyMTUyOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4y LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5T X0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAx CnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJ RCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJ TUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9S SU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJU T1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1F X1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZp bmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFN RSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAj ZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8 ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChf Y18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJ U19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9J TlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsg aSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBk byB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwg TlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAo MCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1F X1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxF KS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJT RDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAv KiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEK fCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250 YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2Rl ZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19U IDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJ TlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhB VkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVm aW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZp bmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZp bmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf VE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9H TVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJ TUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBSRUFETElOS19UUkFJTElOR19TTEFTSF9C VUcgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiA8c3lzL3R5cGVzLmg+IGlzIG5v dCBuZWVkZWQgYWNjb3JkaW5nIHRvIFBPU0lYLCBidXQgdGhlCnwgICAgPHN5cy9zb2NrZXQuaD4g aW4gaTM4Ni11bmtub3duLWZyZWVic2Q0LjEwIGFuZAp8ICAgIHBvd2VycGMtYXBwbGUtZGFyd2lu NS41IHJlcXVpcmVkIGl0LiAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaWYgSEFWRV9T WVNfU09DS0VUX0gKfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZWxpZiBIQVZFX1dTMlRD UElQX0gKfCAjIGluY2x1ZGUgPHdzMnRjcGlwLmg+CnwgI2VuZGlmCnwgCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoc29ja2xlbl90KSkpCnwgCSAgICByZXR1cm4gMDsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyMTUyOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MjIyMTY6IGNoZWNraW5nIGZvciBzc2l6ZV90CmNvbmZpZ3VyZToyMjIzMzogZ2NjIC1zdGQ9 Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjIyMzM6ICQ/ID0g MApjb25maWd1cmU6MjIyNDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjI1MjogY2hlY2tpbmcg Zm9yIHN0cnVjdCBzdGF0LnN0X2F0aW0udHZfbnNlYwpjb25maWd1cmU6MjIyNTI6IGdjYyAtc3Rk PWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rp b24gJ21haW4nOgpjb25mdGVzdC5jOjIyOTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1l bWJlciBuYW1lZCAnc3RfYXRpbScKY29uZmlndXJlOjIyMjUyOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4y LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5T X0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAx CnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJ RCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJ TUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9S SU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJU T1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1F X1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZp bmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFN RSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAj ZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8 ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChf Y18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJ U19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9J TlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsg aSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBk byB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwg TlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAo MCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1F X1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxF KS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJT RDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAv KiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEK fCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250 YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2Rl ZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19U IDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJ TlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhB VkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVm aW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZp bmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZp bmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf VE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9H TVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJ TUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBSRUFETElOS19UUkFJTElOR19TTEFTSF9C VUcgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg ICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRp YyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2F0aW0udHZfbnNlYykKfCBy ZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyMjUyOiBnY2MgLXN0 ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMjk6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBt ZW1iZXIgbmFtZWQgJ3N0X2F0aW0nCmNvbmZpZ3VyZToyMjI1MjogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNz IDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu Mi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9G Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBO U19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2Rl ZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9P TEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMg MQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZF X0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRT SUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFW RV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFE RFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEK fCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwg I2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZU SU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwg I2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2Rl ZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBI QVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFO VFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEK fCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNk ZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElN RV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8 ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVm aW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5l IEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVm aW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05B TUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwg I2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIK fCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUg VVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8 ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAo X2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAo SVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2Rl ZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRf SU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7 IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAg ZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEws IE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUg KDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFN RV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklM RSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZp bmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBC U0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1Mg LyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAx CnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmlu ZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29u dGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBy cGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVz dHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgQklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNk ZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNf VCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFSX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9X SU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBI QVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgI2Rl ZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJWkVfVF9TVUZGSVggdWwKfCAjZGVm aW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2RlZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAjZGVm aW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhB VkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1f R01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9EVVAyIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRU SU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgUkVBRExJTktfVFJBSUxJTkdfU0xBU0hf QlVHIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0 aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbS50dl9u c2VjKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjIyNTI6 IHJlc3VsdDogbm8KY29uZmlndXJlOjIyMzAzOiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQuc3Rf YXRpbWVzcGVjLnR2X25zZWMKY29uZmlndXJlOjIyMzAzOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMg LU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMjMwMzogJD8gPSAwCmNvbmZpZ3VyZToy MjMwMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMzQ3OiBjaGVja2luZyBmb3Igc3RydWN0IHN0 YXQuc3RfYmlydGh0aW1lc3BlYy50dl9uc2VjCmNvbmZpZ3VyZToyMjM0NzogZ2NjIC1zdGQ9Z251 OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjIzNDc6ICQ/ID0gMApj b25maWd1cmU6MjIzNDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjM4NzogY2hlY2tpbmcgZm9y IHdvcmtpbmcgc3RkYWxpZ24uaApjb25maWd1cmU6MjI0MjY6IGdjYyAtc3RkPWdudTk5IC1jIC1n MyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyMjQ6MjI6IGVycm9yOiBzdGRhbGln bi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZ0ZXN0LmM6MjM2OiB3YXJuaW5nOiBp bXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnX0FsaWdub2YnCmNvbmZ0ZXN0LmM6MjM2 OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJ2RvdWJsZScKY29uZnRlc3QuYzoy MzY6IGVycm9yOiB2YXJpYWJseSBtb2RpZmllZCAndGVzdF9kb3VibGUnIGF0IGZpbGUgc2NvcGUK Y29uZnRlc3QuYzoyMzc6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnbG9uZycK Y29uZnRlc3QuYzoyMzc6IGVycm9yOiB2YXJpYWJseSBtb2RpZmllZCAndGVzdF9sb25nJyBhdCBm aWxlIHNjb3BlCmNvbmZ0ZXN0LmM6MjM4OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBv ZiBmdW5jdGlvbiAnYWxpZ25vZicKY29uZnRlc3QuYzoyMzg6IGVycm9yOiBleHBlY3RlZCBleHBy ZXNzaW9uIGJlZm9yZSAnZG91YmxlJwpjb25mdGVzdC5jOjIzODogZXJyb3I6IGV4cGVjdGVkIGV4 cHJlc3Npb24gYmVmb3JlICdkb3VibGUnCmNvbmZ0ZXN0LmM6MjM4OiBlcnJvcjogdmFyaWFibHkg bW9kaWZpZWQgJ3Rlc3RfYWxpZ25vZicgYXQgZmlsZSBzY29wZQpjb25mdGVzdC5jOjI0MjogZXJy b3I6IGV4cGVjdGVkIGRlY2xhcmF0aW9uIHNwZWNpZmllcnMgb3IgJy4uLicgYmVmb3JlIG51bWVy aWMgY29uc3RhbnQKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ2FsaWduYXMnOgpjb25mdGVzdC5j OjI0MjogZXJyb3I6IGV4cGVjdGVkIGRlY2xhcmF0aW9uIHNwZWNpZmllcnMgYmVmb3JlICdhbGln bmFzX2ludCcKY29uZnRlc3QuYzoyNDM6IGVycm9yOiAnYWxpZ25hc19pbnQnIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjI0MzogZXJyb3I6IChFYWNo IHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UKY29uZnRlc3QuYzoy NDM6IGVycm9yOiBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluLikKY29uZnRlc3QuYzoy NDg6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVf XycgYmVmb3JlICd7JyB0b2tlbgpjb25mdGVzdC5jOjI0MzogZXJyb3I6IGRlY2xhcmF0aW9uIGZv ciBwYXJhbWV0ZXIgJ3Rlc3RfYWxpZ25hcycgYnV0IG5vIHN1Y2ggcGFyYW1ldGVyCmNvbmZ0ZXN0 LmM6MjUyOiBlcnJvcjogZXhwZWN0ZWQgJ3snIGF0IGVuZCBvZiBpbnB1dApjb25maWd1cmU6MjI0 MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRh cndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFE RFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FE QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJ TEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9I RUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZp bmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VT RV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xP U0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4 IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZp bmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMg MQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdO IDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5l IEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JB TkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5X SU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lE IDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAx CnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhB VkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9B TEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNk ZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVm aW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBI QVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwg I2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5V TExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3Vi cHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZp bmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2Rl ZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2Rl ZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBE T05UX1JFT1BFTl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNw Igp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50 IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdw Jwp8ICNkZWZpbmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAm c2xhdmUsIHB0eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19j bG9zZSAoc2xhdmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiov CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09V VFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZp bmUgVEFCMyBPWFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoq Lwp8ICNkZWZpbmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwg I2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMp IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1k YXJ3aW4xMi4xLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMn ICctLWVuYWJsZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2Rl ZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEJJVFNJ WkVPRl9QVFJESUZGX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSVpFX1QgNjQKfCAjZGVmaW5l IEJJVFNJWkVPRl9TSUdfQVRPTUlDX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XQ0hBUl9UIDMy CnwgI2RlZmluZSBCSVRTSVpFT0ZfV0lOVF9UIDMyCnwgI2RlZmluZSBIQVZFX1NJR05FRF9TSUdf QVRPTUlDX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZF X1NJR05FRF9XSU5UX1QgMQp8ICNkZWZpbmUgUFRSRElGRl9UX1NVRkZJWCBsCnwgI2RlZmluZSBT SVpFX1RfU1VGRklYIHVsCnwgI2RlZmluZSBTSUdfQVRPTUlDX1RfU1VGRklYIAp8ICNkZWZpbmUg V0NIQVJfVF9TVUZGSVggCnwgI2RlZmluZSBXSU5UX1RfU1VGRklYIAp8ICNkZWZpbmUgSEFWRV9T SUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fWk9O RSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVG SVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIFJF QURMSU5LX1RSQUlMSU5HX1NMQVNIX0JVRyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NU X0FUSU1FU1BFQ19UVl9OU0VDIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQklSVEhU SU1FU1BFQ19UVl9OU0VDIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0 ZGFsaWduLmg+CnwgICAgICAgICAgICAgI2luY2x1ZGUgPHN0ZGRlZi5oPgp8IAp8ICAgICAgICAg ICAgIC8qIFRlc3QgdGhhdCBhbGlnbm9mIHlpZWxkcyBhIHJlc3VsdCBjb25zaXN0ZW50IHdpdGgg b2Zmc2V0b2YuCnwgICAgICAgICAgICAgICAgVGhpcyBjYXRjaGVzIEdDQyBidWcgNTIwMjMKfCAg ICAgICAgICAgICAgICA8aHR0cDovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9p ZD01MjAyMz4uICAqLwp8ICAgICAgICAgICAgICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgICAgICAg ICAgICAgIHRlbXBsYXRlIDxjbGFzcyB0PiBzdHJ1Y3QgYWxpZ25vZl9oZWxwZXIgeyBjaGFyIGE7 IHQgYjsgfTsKfCAgICAgICAgICAgICAjIGRlZmluZSBhbyh0eXBlKSBvZmZzZXRvZiAoYWxpZ25v Zl9oZWxwZXI8dHlwZT4sIGIpCnwgICAgICAgICAgICAgI2Vsc2UKfCAgICAgICAgICAgICAjIGRl ZmluZSBhbyh0eXBlKSBvZmZzZXRvZiAoc3RydWN0IHsgY2hhciBhOyB0eXBlIGI7IH0sIGIpCnwg ICAgICAgICAgICAgI2VuZGlmCnwgICAgICAgICAgICAgY2hhciB0ZXN0X2RvdWJsZVthbyAoZG91 YmxlKSAlIF9BbGlnbm9mIChkb3VibGUpID09IDAgPyAxIDogLTFdOwp8ICAgICAgICAgICAgIGNo YXIgdGVzdF9sb25nW2FvIChsb25nIGludCkgJSBfQWxpZ25vZiAobG9uZyBpbnQpID09IDAgPyAx IDogLTFdOwp8ICAgICAgICAgICAgIGNoYXIgdGVzdF9hbGlnbm9mW2FsaWdub2YgKGRvdWJsZSkg PT0gX0FsaWdub2YgKGRvdWJsZSkgPyAxIDogLTFdOwp8IAp8ICAgICAgICAgICAgIC8qIFRlc3Qg X0FsaWduYXMgb25seSBvbiBwbGF0Zm9ybXMgd2hlcmUgZ251bGliIGNhbiBoZWxwLiAgKi8KfCAg ICAgICAgICAgICAjaWYgICAgICAgICAgICAgICAgIChfX0dOVUNfXyB8fCBfX0lCTUNfXyB8fCBf X0lCTUNQUF9fICAgICAgICAgICAgICAgICAgfHwgMHg1MTEwIDw9IF9fU1VOUFJPX0MgfHwgMTMw MCA8PSBfTVNDX1ZFUikKfCAgICAgICAgICAgICAgIGludCBhbGlnbmFzICg4KSBhbGlnbmFzX2lu dCA9IDE7CnwgICAgICAgICAgICAgICBjaGFyIHRlc3RfYWxpZ25hc1tfQWxpZ25vZiAoYWxpZ25h c19pbnQpID09IDggPyAxIDogLTFdOwp8ICAgICAgICAgICAgICNlbmRpZgp8IAp8IGludAp8IG1h aW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMjQzMzogcmVz dWx0OiBubwpjb25maWd1cmU6MjI0NTU6IGNoZWNraW5nIGZvciB2YV9jb3B5CmNvbmZpZ3VyZToy MjQ3NjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6MjI0NzY6ICQ/ID0gMApjb25maWd1cmU6MjI0ODQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy MjY2NjogY2hlY2tpbmcgd2hldGhlciBOVUxMIGNhbiBiZSB1c2VkIGluIGFyYml0cmFyeSBleHBy ZXNzaW9ucwpjb25maWd1cmU6MjI2ODQ6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjIyNjg0OiAkPyA9IDAKY29uZmlndXJlOjIyNjkxOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MjI5ODM6IGNoZWNraW5nIHdoZXRoZXIgc3RydG9pbWF4IHdvcmtz CmNvbmZpZ3VyZToyMzAzNzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAg Y29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIzMDM3OiAkPyA9IDAKY29uZmln dXJlOjIzMDM3OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMzAzNzogJD8gPSAwCmNvbmZpZ3VyZToy MzA0ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzMTQ0OiBjaGVja2luZyB3aGV0aGVyIHN5bWxp bmsgaGFuZGxlcyB0cmFpbGluZyBzbGFzaCBjb3JyZWN0bHkKY29uZmlndXJlOjIzMTc4OiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAg PiY1IApjb25maWd1cmU6MjMxNzg6ICQ/ID0gMApjb25maWd1cmU6MjMxNzg6IC4vY29uZnRlc3QK Y29uZmlndXJlOjIzMTc4OiAkPyA9IDQKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0 YXR1cyA0CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2lu Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01B TExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQ RUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNf SCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9O QU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURF UiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAx CnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZM T0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJ UiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBH SUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwg I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBI QVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9H RVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf TUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5l IEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVm aW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9E RVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9j ZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBE SVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5l IElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5l IElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRf UkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsg Zm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwg I2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2 ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3Nl IChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAj ZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVU X0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBU QUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwg I2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVm aW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAx MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAi bnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndp bjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0t ZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgQklUU0laRU9G X1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUgQklU U0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFSX1QgMzIKfCAj ZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19BVE9N SUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU0lH TkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJWkVf VF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2RlZmluZSBXQ0hB Ul9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBIQVZFX1NJR1NF VF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEK fCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBy cGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgUkVBRExJ TktfVFJBSUxJTkdfU0xBU0hfQlVHIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQVRJ TUVTUEVDX1RWX05TRUMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CSVJUSFRJTUVT UEVDX1RWX05TRUMgMQp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJf U0NBTkYgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlu dCByZXN1bHQgPSAwOwp8ICAgICAgICAgICAgICBpZiAoIXN5bWxpbmsgKCJhIiwgImNvbmZ0ZXN0 LmxpbmsvIikpCnwgICAgICAgICAgICAgICAgcmVzdWx0IHw9IDE7CnwgICAgICAgICAgICAgIGlm IChzeW1saW5rICgiY29uZnRlc3QuZiIsICJjb25mdGVzdC5sbmsyIikpCnwgICAgICAgICAgICAg ICAgcmVzdWx0IHw9IDI7CnwgICAgICAgICAgICAgIGVsc2UgaWYgKCFzeW1saW5rICgiYSIsICJj b25mdGVzdC5sbmsyLyIpKQp8ICAgICAgICAgICAgICAgIHJlc3VsdCB8PSA0Owp8ICAgICAgICAg ICAgICByZXR1cm4gcmVzdWx0Owp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MjMxODk6IHJlc3VsdDogbm8KY29uZmlndXJlOjIzMjI1OiBjaGVja2luZyB3aGV0aGVyIDxzeXMv c2VsZWN0Lmg+IGlzIHNlbGYtY29udGFpbmVkCmNvbmZpZ3VyZToyMzMwNDogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjIzNTExOiBjaGVja2luZyBmb3IgbmxpbmtfdApjb25maWd1cmU6MjM1MTE6IGdj YyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIzNTEx OiAkPyA9IDAKY29uZmlndXJlOjIzNTExOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoy MzM6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJl OjIzNTExOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1h Y3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5l IEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVf SUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9C Uk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJ TF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAj ZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmlu ZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1B TElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2Rl ZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFW RV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBf Vk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVO UFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhB VkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEK fCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwg I2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUg SEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZp bmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8 ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04g MQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmlu ZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5l IHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAj ZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8 ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8 ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZp bmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2 L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9O IGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRF UiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZm ZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1h Y3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYg LyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElO R19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAj ZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUg SEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVN IC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQg MQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0 IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1f SEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBw bGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRo LW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVm aW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8 ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYg MQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBC SVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2Rl ZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJf VCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURf U0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUg SEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZp bmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVm aW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5lIEhB VkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RN X1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgX19HRVRPUFRf UFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmlu ZSBSRUFETElOS19UUkFJTElOR19TTEFTSF9CVUcgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RB VF9TVF9BVElNRVNQRUNfVFZfTlNFQyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JJ UlRIVElNRVNQRUNfVFZfTlNFQyAxCnwgI2RlZmluZSBHTlVMSUJfRlNDQU5GIDEKfCAjZGVmaW5l IEdOVUxJQl9TQ0FORiAxCnwgI2RlZmluZSBteV9zdHJmdGltZSBuc3RyZnRpbWUKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgI2luY2x1ZGUg PHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgobmxpbmtf dCkpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToy MzUxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzNTM5OiBjaGVja2luZyB3aGV0aGVyIGxvY2Fs dGltZV9yIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyMzUzOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjM1Mzk6ICQ/ID0gMApjb25maWd1cmU6 MjM1Mzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzU1ODogY2hlY2tpbmcgd2hldGhlciBsb2Nh bHRpbWVfciBpcyBjb21wYXRpYmxlIHdpdGggaXRzIFBPU0lYIHNpZ25hdHVyZQpjb25maWd1cmU6 MjM1ODI6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjIzNTgyOiAkPyA9IDAKY29uZmlndXJlOjIzNTkwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MjM4MTg6IGNoZWNraW5nIHdoZXRoZXIgc3RhdCBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoZXMgb24g ZGlyZWN0b3JpZXMKY29uZmlndXJlOjIzODQxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt ZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjM4NDE6ICQ/ ID0gMApjb25maWd1cmU6MjM4NDE6IC4vY29uZnRlc3QKY29uZmlndXJlOjIzODQxOiAkPyA9IDAK Y29uZmlndXJlOjIzODUxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjM4NTM6IGNoZWNraW5nIHdo ZXRoZXIgc3RhdCBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoZXMgb24gZmlsZXMKY29uZmlndXJlOjIz ODkzOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1s cHRocmVhZCAgPiY1IApjb25maWd1cmU6MjM4OTM6ICQ/ID0gMApjb25maWd1cmU6MjM4OTM6IC4v Y29uZnRlc3QKY29uZmlndXJlOjIzODkzOiAkPyA9IDIKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRl ZCB3aXRoIHN0YXR1cyAyCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVm aW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZF X0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xP TkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBU RVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwg I2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1B SUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVU RE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lH TkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEK fCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwg I2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEK fCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZp bmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf U1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVN QUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNk ZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQ X1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BF TlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAx CnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5l IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QK fCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9O IDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZp bmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmlu ZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwg I2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAK fCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkK fCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVm aW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rl di9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElP TiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRU RVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgm ZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVt YWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRG IC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJ TkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwg I2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5l IEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RF TSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFE IDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdo dCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJN X0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFw cGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0 aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAj ZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEK fCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5W IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg QklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNk ZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFS X1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVE X1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5l IEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVm aW5lIFNJWkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2Rl ZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBI QVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9U TV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIF9fR0VUT1BU X1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZp bmUgUkVBRExJTktfVFJBSUxJTkdfU0xBU0hfQlVHIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NU QVRfU1RfQVRJTUVTUEVDX1RWX05TRUMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9C SVJUSFRJTUVTUEVDX1RWX05TRUMgMQp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmlu ZSBHTlVMSUJfU0NBTkYgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfTE9DQUxUSU1FX1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGludCByZXN1bHQgPSAw Owp8ICAgICAgIHN0cnVjdCBzdGF0IHN0Owp8ICAgICAgIGlmICghc3RhdCAoImNvbmZ0ZXN0LnRt cC8iLCAmc3QpKQp8ICAgICAgICAgcmVzdWx0IHw9IDE7CnwgI2lmIEhBVkVfTFNUQVQKfCAgICAg ICBpZiAoIXN0YXQgKCJjb25mdGVzdC5sbmsvIiwgJnN0KSkKfCAgICAgICAgIHJlc3VsdCB8PSAy Owp8ICNlbmRpZgp8ICAgICAgIHJldHVybiByZXN1bHQ7CnwgCnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToyMzkwNDogcmVzdWx0OiBubwpjb25maWd1cmU6MjQ1ODg6IGNoZWNraW5n IHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZQpjb25maWd1cmU6 MjQ1OTQ6IHJlc3VsdDogZG9uZQpjb25maWd1cmU6MjQ3MTA6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cwoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBDYWNoZSB2YXJpYWJsZXMuICMjCiMjIC0t LS0tLS0tLS0tLS0tLS0gIyMKCmFjX2N2X2J1aWxkPWkzODYtYXBwbGUtZGFyd2luMTIuMS4wCmFj X2N2X2NfYmlnZW5kaWFuPW5vCmFjX2N2X2NfY29tcGlsZXJfZ251PXllcwphY19jdl9jX2lubGlu ZT1pbmxpbmUKYWNfY3ZfY19yZXN0cmljdD1fX3Jlc3RyaWN0CmFjX2N2X2Vudl9DQ19zZXQ9CmFj X2N2X2Vudl9DQ192YWx1ZT0KYWNfY3ZfZW52X0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9DRkxBR1Nf dmFsdWU9CmFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9CmFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0K YWNfY3ZfZW52X0NQUF9zZXQ9CmFjX2N2X2Vudl9DUFBfdmFsdWU9CmFjX2N2X2Vudl9MREZMQUdT X3NldD0KYWNfY3ZfZW52X0xERkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9MSUJTX3NldD0KYWNfY3Zf ZW52X0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9YTUtNRl9zZXQ9CmFjX2N2X2Vudl9YTUtNRl92YWx1 ZT0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3NldD0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVl PQphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPQph Y19jdl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0KYWNfY3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0K YWNfY3ZfZnVuY19fX2V4ZWN1dGFibGVfc3RhcnQ9bm8KYWNfY3ZfZnVuY19fX2ZwZW5kaW5nPW5v CmFjX2N2X2Z1bmNfYWxhcm09eWVzCmFjX2N2X2Z1bmNfYWxsb2NhX3dvcmtzPXllcwphY19jdl9m dW5jX2NmbWFrZXJhdz15ZXMKYWNfY3ZfZnVuY19jZnNldHNwZWVkPXllcwphY19jdl9mdW5jX2Ns b2NrX2dldHRpbWU9bm8KYWNfY3ZfZnVuY19jbG9ja19zZXR0aW1lPW5vCmFjX2N2X2Z1bmNfY2xv c2VkaXI9eWVzCmFjX2N2X2Z1bmNfY29weXNpZ249eWVzCmFjX2N2X2Z1bmNfZGlmZnRpbWU9eWVz CmFjX2N2X2Z1bmNfZW5kZ3JlbnQ9eWVzCmFjX2N2X2Z1bmNfZW5kcHdlbnQ9eWVzCmFjX2N2X2Z1 bmNfZXVpZGFjY2Vzcz1ubwphY19jdl9mdW5jX2Zvcms9eWVzCmFjX2N2X2Z1bmNfZm9ya193b3Jr cz15ZXMKYWNfY3ZfZnVuY19mcGF0aGNvbmY9eWVzCmFjX2N2X2Z1bmNfZnJlZWlmYWRkcnM9eWVz CmFjX2N2X2Z1bmNfZnN5bmM9eWVzCmFjX2N2X2Z1bmNfZnV0aW1lbnM9bm8KYWNfY3ZfZnVuY19m dXRpbWVzPXllcwphY19jdl9mdW5jX2Z1dGltZXNhdD1ubwphY19jdl9mdW5jX2dhaV9zdHJlcnJv cj15ZXMKYWNfY3ZfZnVuY19nZXRfY3VycmVudF9kaXJfbmFtZT1ubwphY19jdl9mdW5jX2dldGFk ZHJpbmZvPXllcwphY19jdl9mdW5jX2dldGN3ZD15ZXMKYWNfY3ZfZnVuY19nZXRkZWxpbT15ZXMK YWNfY3ZfZnVuY19nZXRncmVudD15ZXMKYWNfY3ZfZnVuY19nZXRob3N0bmFtZT15ZXMKYWNfY3Zf ZnVuY19nZXRpZmFkZHJzPXllcwphY19jdl9mdW5jX2dldGxpbmU9eWVzCmFjX2N2X2Z1bmNfZ2V0 bG9hZGF2Zz15ZXMKYWNfY3ZfZnVuY19nZXRvcHRfbG9uZ19vbmx5PXllcwphY19jdl9mdW5jX2dl dHBhZ2VzaXplPXllcwphY19jdl9mdW5jX2dldHBlZXJuYW1lPXllcwphY19jdl9mdW5jX2dldHBn cnBfdm9pZD15ZXMKYWNfY3ZfZnVuY19nZXRwdD1ubwphY19jdl9mdW5jX2dldHB3ZW50PXllcwph Y19jdl9mdW5jX2dldHJsaW1pdD15ZXMKYWNfY3ZfZnVuY19nZXRydXNhZ2U9eWVzCmFjX2N2X2Z1 bmNfZ2V0c29ja25hbWU9eWVzCmFjX2N2X2Z1bmNfZ2V0dGltZW9mZGF5PXllcwphY19jdl9mdW5j X2dldHdkPXllcwphY19jdl9mdW5jX2dudXRsc19jZXJ0aWZpY2F0ZV9zZXRfdmVyaWZ5X2Z1bmN0 aW9uPW5vCmFjX2N2X2Z1bmNfZ3JhbnRwdD15ZXMKYWNfY3ZfZnVuY19sb2NhbHRpbWVfcj15ZXMK YWNfY3ZfZnVuY19scmFuZDQ4PXllcwphY19jdl9mdW5jX2xzdGF0PXllcwphY19jdl9mdW5jX2x1 dGltZXM9eWVzCmFjX2N2X2Z1bmNfbWtzdGVtcD15ZXMKYWNfY3ZfZnVuY19tbWFwX2ZpeGVkX21h cHBlZD15ZXMKYWNfY3ZfZnVuY19uYW5vdGltZT1ubwphY19jdl9mdW5jX3Bvc2l4X21lbWFsaWdu PXllcwphY19jdl9mdW5jX3Bvc2l4X29wZW5wdD15ZXMKYWNfY3ZfZnVuY19wc2VsZWN0PXllcwph Y19jdl9mdW5jX3B0aHJlYWRfc2lnbWFzaz15ZXMKYWNfY3ZfZnVuY19yYW5kb209eWVzCmFjX2N2 X2Z1bmNfcmVhZGxpbms9eWVzCmFjX2N2X2Z1bmNfcmVhZGxpbmthdD1ubwphY19jdl9mdW5jX3Jl Y3Zmcm9tPXllcwphY19jdl9mdW5jX3JpbnQ9eWVzCmFjX2N2X2Z1bmNfc2VsZWN0PXllcwphY19j dl9mdW5jX3NlbmR0bz15ZXMKYWNfY3ZfZnVuY19zZXRpdGltZXI9eWVzCmFjX2N2X2Z1bmNfc2V0 bG9jYWxlPXllcwphY19jdl9mdW5jX3NldHBnaWQ9eWVzCmFjX2N2X2Z1bmNfc2V0cmxpbWl0PXll cwphY19jdl9mdW5jX3NldHNpZD15ZXMKYWNfY3ZfZnVuY19zaHV0ZG93bj15ZXMKYWNfY3ZfZnVu Y19zbnByaW50Zj15ZXMKYWNfY3ZfZnVuY19zb2NrZXQ9eWVzCmFjX2N2X2Z1bmNfc3Ryc2lnbmFs PXllcwphY19jdl9mdW5jX3N0cnRvaW1heD15ZXMKYWNfY3ZfZnVuY19zdHJ0b3VtYXg9eWVzCmFj X2N2X2Z1bmNfc3ltbGluaz15ZXMKYWNfY3ZfZnVuY19zeW5jPXllcwphY19jdl9mdW5jX3RvdWNo bG9jaz1ubwphY19jdl9mdW5jX3R6c2V0PXllcwphY19jdl9mdW5jX3V0aW1lbnNhdD1ubwphY19j dl9mdW5jX3V0aW1lcz15ZXMKYWNfY3ZfZnVuY192Zm9yaz15ZXMKYWNfY3ZfZnVuY192Zm9ya193 b3Jrcz15ZXMKYWNfY3ZfaGF2ZV9kZWNsX19fc3lzX3NpZ2xpc3Q9bm8KYWNfY3ZfaGF2ZV9kZWNs X2dldGVudj15ZXMKYWNfY3ZfaGF2ZV9kZWNsX2dldGxvYWRhdmc9eWVzCmFjX2N2X2hhdmVfZGVj bF9sb2NhbHRpbWVfcj15ZXMKYWNfY3ZfaGF2ZV9kZWNsX3N0cm1vZGU9eWVzCmFjX2N2X2hhdmVf ZGVjbF9zdHJ0b2ltYXg9eWVzCmFjX2N2X2hhdmVfZGVjbF9zdHJ0b3VtYXg9eWVzCmFjX2N2X2hh dmVfZGVjbF9zeXNfc2lnbGlzdD1ubwphY19jdl9oYXZlX3g9J2hhdmVfeD15ZXMJYWNfeF9pbmNs dWRlcz0nXCcnL3Vzci9YMTEvaW5jbHVkZSdcJycJYWNfeF9saWJyYXJpZXM9J1wnJy91c3IvWDEx L2xpYidcJycnCmFjX2N2X2hlYWRlcl9BcHBLaXRfQXBwS2l0X2g9eWVzCmFjX2N2X2hlYWRlcl9h cnBhX2luZXRfaD15ZXMKYWNfY3ZfaGVhZGVyX2NvZmZfaD1ubwphY19jdl9oZWFkZXJfZGlyZW50 X2g9eWVzCmFjX2N2X2hlYWRlcl9leGVjaW5mb19oPXllcwphY19jdl9oZWFkZXJfZmNudGxfaD15 ZXMKYWNfY3ZfaGVhZGVyX2dldG9wdF9oPXllcwphY19jdl9oZWFkZXJfZ3BtX2g9bm8KYWNfY3Zf aGVhZGVyX2lmYWRkcnNfaD15ZXMKYWNfY3ZfaGVhZGVyX2ludHR5cGVzX2g9eWVzCmFjX2N2X2hl YWRlcl9saW51eF92ZXJzaW9uX2g9bm8KYWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2g9 bm8KYWNfY3ZfaGVhZGVyX21haWxsb2NrX2g9bm8KYWNfY3ZfaGVhZGVyX21hbGxvY19tYWxsb2Nf aD15ZXMKYWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJfbWluaXhfY29uZmln X2g9bm8KYWNfY3ZfaGVhZGVyX25ldF9pZl9kbF9oPXllcwphY19jdl9oZWFkZXJfbmV0X2lmX2g9 eWVzCmFjX2N2X2hlYWRlcl9uZXRpbmV0X2luX2g9eWVzCmFjX2N2X2hlYWRlcl9wdGhyZWFkX2g9 eWVzCmFjX2N2X2hlYWRlcl9wdHlfaD1ubwphY19jdl9oZWFkZXJfcHdkX2g9eWVzCmFjX2N2X2hl YWRlcl9zb3VuZGNhcmRfaD1ubwphY19jdl9oZWFkZXJfc3RhdF9icm9rZW49bm8KYWNfY3ZfaGVh ZGVyX3N0ZGJvb2xfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCmFjX2N2X2hlYWRlcl9zdGRp bnRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGlvX2V4dF9oPW5vCmFjX2N2X2hlYWRlcl9zdGRsaWJf aD15ZXMKYWNfY3ZfaGVhZGVyX3N0cmluZ19oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nc19oPXll cwphY19jdl9oZWFkZXJfc3lzX2JpdHlwZXNfaD1ubwphY19jdl9oZWFkZXJfc3lzX2ludHR5cGVz X2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19sb2FkYXZnX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19wYXJh bV9oPXllcwphY19jdl9oZWFkZXJfc3lzX3Jlc291cmNlX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNf c2VsZWN0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc29ja2V0X2g9eWVzCmFjX2N2X2hlYWRlcl9z eXNfc291bmRjYXJkX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzCmFjX2N2X2hlYWRl cl9zeXNfc3lzdGVtaW5mb19oPW5vCmFjX2N2X2hlYWRlcl9zeXNfdGltZV9oPXllcwphY19jdl9o ZWFkZXJfc3lzX3R5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdW5faD15ZXMKYWNfY3ZfaGVh ZGVyX3N5c191dHNuYW1lX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdmxpbWl0X2g9bm8KYWNfY3Zf aGVhZGVyX3N5c193YWl0X2g9eWVzCmFjX2N2X2hlYWRlcl90ZXJtX2g9eWVzCmFjX2N2X2hlYWRl cl90aW1lPXllcwphY19jdl9oZWFkZXJfdW5pc3RkX2g9eWVzCmFjX2N2X2hlYWRlcl91dGlsX2g9 eWVzCmFjX2N2X2hlYWRlcl91dGltZV9oPXllcwphY19jdl9oZWFkZXJfdXRtcF9oPXllcwphY19j dl9oZWFkZXJfdmZvcmtfaD1ubwphY19jdl9oZWFkZXJfd2NoYXJfaD15ZXMKYWNfY3ZfaG9zdD1p Mzg2LWFwcGxlLWRhcndpbjEyLjEuMAphY19jdl9saWJfWGJzZF9tYWluPW5vCmFjX2N2X2xpYl9k bmV0X2RuZXRfbnRvYT1ubwphY19jdl9saWJfbG9ja2ZpbGVfbWFpbGxvY2s9bm8KYWNfY3ZfbGli X21fc3FydD15ZXMKYWNfY3ZfbGliX21haWxfbWFpbGxvY2s9bm8KYWNfY3ZfbGliX29zc2F1ZGlv X19vc3NfaW9jdGw9bm8KYWNfY3ZfbGliX3B0aHJlYWRfcHRocmVhZF9zZWxmPXllcwphY19jdl9s aWJfcHRocmVhZHNfY21hX29wZW49bm8KYWNfY3ZfbGliX3NlbGludXhfbGdldGZpbGVjb249bm8K YWNfY3ZfbWVtYmVyX3N0cnVjdF9pZnJlcV9pZnJfYWRkcj15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVj dF9pZnJlcV9pZnJfYWRkcl9zYV9sZW49eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZy X2Jyb2FkYWRkcj15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9pZnJlcV9pZnJfZmxhZ3M9eWVzCmFj X2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2h3YWRkcj1ubwphY19jdl9tZW1iZXJfc3RydWN0 X2lmcmVxX2lmcl9uZXRtYXNrPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9hdGltX3R2 X25zZWM9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2F0aW1lc3BlY190dl9uc2VjPXll cwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfYmlydGh0aW1lc3BlY190dl9uc2VjPXllcwph Y19jdl9tZW1iZXJfc3RydWN0X3RtX3RtX2dtdG9mZj15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF90 bV90bV96b25lPXllcwphY19jdl9vYmpleHQ9bwphY19jdl9wYXRoX0VHUkVQPScvdXNyL2Jpbi9n cmVwIC1FJwphY19jdl9wYXRoX0dSRVA9L3Vzci9iaW4vZ3JlcAphY19jdl9wYXRoX0daSVBfUFJP Rz0vdXNyL2Jpbi9nemlwCmFjX2N2X3BhdGhfSU5TVEFMTF9JTkZPPS91c3IvYmluL2luc3RhbGwt aW5mbwphY19jdl9wYXRoX01BS0VJTkZPPS91c3IvYmluL21ha2VpbmZvCmFjX2N2X3BhdGhfUEtH X0NPTkZJRz0vdXNyL2xvY2FsL2Jpbi9wa2ctY29uZmlnCmFjX2N2X3BhdGhfaW5zdGFsbD0nL3Vz ci9sb2NhbC9DZWxsYXIvY29yZXV0aWxzLzguMTkvbGliZXhlYy9nbnViaW4vaW5zdGFsbCAtYycK YWNfY3ZfcGF0aF9ta2Rpcj0vdXNyL2xvY2FsL0NlbGxhci9jb3JldXRpbHMvOC4xOS9saWJleGVj L2dudWJpbi9ta2RpcgphY19jdl9wcm9nX0FXSz1hd2sKYWNfY3ZfcHJvZ19DUFA9J2djYyAtRScK YWNfY3ZfcHJvZ19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0X0NDPWdjYwphY19jdl9wcm9n X2FjX2N0X1JBTkxJQj1yYW5saWIKYWNfY3ZfcHJvZ19jY19jODk9CmFjX2N2X3Byb2dfY2NfYzk5 PS1zdGQ9Z251OTkKYWNfY3ZfcHJvZ19jY19nPXllcwphY19jdl9wcm9nX2NjX2djY19jX289eWVz CmFjX2N2X3Byb2dfY2Nfc3RkYz0tc3RkPWdudTk5CmFjX2N2X3Byb2dfbGlibG9ja2ZpbGU9bm8K YWNfY3ZfcHJvZ19tYWtlX21ha2Vfc2V0PXllcwphY19jdl9zYWZlX3RvX2RlZmluZV9fX2V4dGVu c2lvbnNfXz15ZXMKYWNfY3Zfc2VhcmNoX2JhY2t0cmFjZV9zeW1ib2xzX2ZkPSdub25lIHJlcXVp cmVkJwphY19jdl9zZWFyY2hfY2xvY2tfZ2V0dGltZT1ubwphY19jdl9zdHJ1Y3Rfc3RfZG1fbW9k ZT1ubwphY19jdl9zdHJ1Y3RfdG09dGltZS5oCmFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzPW5v CmFjX2N2X3N5c19sYXJnZWZpbGVfQ0M9bm8KYWNfY3Zfc3lzX2xhcmdlZmlsZV9zb3VyY2U9bm8K YWNfY3Zfc3lzX2xvbmdfZmlsZV9uYW1lcz15ZXMKYWNfY3ZfdHlwZV9fQm9vbD15ZXMKYWNfY3Zf dHlwZV9sb25nX2xvbmdfaW50PXllcwphY19jdl90eXBlX21ic3RhdGVfdD15ZXMKYWNfY3ZfdHlw ZV9tb2RlX3Q9eWVzCmFjX2N2X3R5cGVfbmxpbmtfdD15ZXMKYWNfY3ZfdHlwZV9waWRfdD15ZXMK YWNfY3ZfdHlwZV9zaWdoYW5kbGVyX3Q9bm8KYWNfY3ZfdHlwZV9zaWdzZXRfdD15ZXMKYWNfY3Zf dHlwZV9zb2NrbGVuX3Q9eWVzCmFjX2N2X3R5cGVfdW5zaWduZWRfbG9uZ19sb25nX2ludD15ZXMK YWNfY3ZfdHlwZV92b2xhdGlsZV9zaWdfYXRvbWljX3Q9eWVzCmFjX2N2X3dvcmtpbmdfYWxsb2Nh X2g9eWVzCmFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMKZW1hY3NfY3Zf Y19yZXN0cmljdF9hcnI9eWVzCmVtYWNzX2N2X2Z1bmNfX19idWlsdGluX3Vud2luZF9pbml0PXll cwplbWFjc19jdl9mdW5jX19zZXRqbXA9eWVzCmVtYWNzX2N2X2xhbmdpbmZvX2NvZGVzZXQ9eWVz CmVtYWNzX2N2X2xvY2FsdGltZV9jYWNoZT1ubwplbWFjc19jdl9uZXRkYl9kZWNsYXJlc19oX2Vy cm5vPXllcwplbWFjc19jdl9wZXJzb25hbGl0eV9saW51eDMyPW5vCmVtYWNzX2N2X3Byb2dfY2Nf ZzM9eWVzCmVtYWNzX2N2X3NwZWVkX3Q9eWVzCmVtYWNzX2N2X3VzYWJsZV9GSU9OUkVBRD15ZXMK ZW1hY3NfY3ZfdXNhYmxlX1NJR0lPPXllcwplbWFjc19jdl92YXJfZG91Z19sZWFfbWFsbG9jPW5v CmdsX2N2X2JpdHNpemVvZl9wdHJkaWZmX3Q9NjQKZ2xfY3ZfYml0c2l6ZW9mX3NpZ19hdG9taWNf dD0zMgpnbF9jdl9iaXRzaXplb2Zfc2l6ZV90PTY0CmdsX2N2X2JpdHNpemVvZl93Y2hhcl90PTMy CmdsX2N2X2JpdHNpemVvZl93aW50X3Q9MzIKZ2xfY3ZfY19hbXN0ZXJkYW1fY29tcGlsZXI9bm8K Z2xfY3ZfY19tdWx0aWFyY2g9bm8KZ2xfY3ZfZGVjbF9udWxsX3dvcmtzPXllcwpnbF9jdl9kZWNs X3JlYWRsaW5rX3dvcmtzPXllcwpnbF9jdl9mdW5jX2M5OV9zdHJ0b2xkPXllcwpnbF9jdl9mdW5j X2R1cDJfd29ya3M9eWVzCmdsX2N2X2Z1bmNfZ2V0b3B0X3Bvc2l4PW5vCmdsX2N2X2Z1bmNfZ2V0 dGltZW9mZGF5X2Nsb2JiZXI9bm8KZ2xfY3ZfZnVuY19nZXR0aW1lb2ZkYXlfcG9zaXhfc2lnbmF0 dXJlPXllcwpnbF9jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxpbms9bm8K Z2xfY3ZfZnVuY19wdGhyZWFkX3NpZ21hc2tfaW5fbGliY193b3Jrcz15ZXMKZ2xfY3ZfZnVuY19w dGhyZWFkX3NpZ21hc2tfcmV0dXJuX3dvcmtzPXllcwpnbF9jdl9mdW5jX3B0aHJlYWRfc2lnbWFz a191bmJsb2NrX3dvcmtzPSdndWVzc2luZyB5ZXMnCmdsX2N2X2Z1bmNfcmVhZGxpbmtfd29ya3M9 bm8KZ2xfY3ZfZnVuY19zdGF0X2Rpcl9zbGFzaD15ZXMKZ2xfY3ZfZnVuY19zdGF0X2ZpbGVfc2xh c2g9bm8KZ2xfY3ZfZnVuY19zdHJ0b2ltYXg9eWVzCmdsX2N2X2Z1bmNfc3ltbGlua193b3Jrcz1u bwpnbF9jdl9mdW5jX3ZhX2NvcHk9eWVzCmdsX2N2X2Z1bmNfd29ya2luZ19ta3RpbWU9bm8KZ2xf Y3ZfZnVuY193b3JraW5nX3V0aW1lcz15ZXMKZ2xfY3ZfaGF2ZV9pbmNsdWRlX25leHQ9eWVzCmds X2N2X2hlYWRlcl9zeXNfc2VsZWN0X2hfc2VsZmNvbnRhaW5lZD15ZXMKZ2xfY3ZfaGVhZGVyX3dv cmtpbmdfc3RkYWxpZ25faD1ubwpnbF9jdl9oZWFkZXJfd29ya2luZ19zdGRpbnRfaD1ubwpnbF9j dl9uZXh0X2dldG9wdF9oPSc8Z2V0b3B0Lmg+JwpnbF9jdl9uZXh0X2ludHR5cGVzX2g9JzxpbnR0 eXBlcy5oPicKZ2xfY3ZfbmV4dF9zaWduYWxfaD0nPHNpZ25hbC5oPicKZ2xfY3ZfbmV4dF9zdGRp bnRfaD0nPHN0ZGludC5oPicKZ2xfY3ZfbmV4dF9zdGRpb19oPSc8c3RkaW8uaD4nCmdsX2N2X25l eHRfc3RkbGliX2g9JzxzdGRsaWIuaD4nCmdsX2N2X25leHRfc3lzX3NlbGVjdF9oPSc8c3lzL3Nl bGVjdC5oPicKZ2xfY3ZfbmV4dF9zeXNfc3RhdF9oPSc8c3lzL3N0YXQuaD4nCmdsX2N2X25leHRf c3lzX3RpbWVfaD0nPHN5cy90aW1lLmg+JwpnbF9jdl9uZXh0X3RpbWVfaD0nPHRpbWUuaD4nCmds X2N2X25leHRfdW5pc3RkX2g9Jzx1bmlzdGQuaD4nCmdsX2N2X3ByYWdtYV9jb2x1bW5zPW5vCmds X2N2X3JwbF9hbGxvY2E9eWVzCmdsX2N2X3NpZ19wc2VsZWN0PXllcwpnbF9jdl9zeXNfc3RydWN0 X3RpbWVzcGVjX2luX3RpbWVfaD15ZXMKZ2xfY3Zfc3lzX3N0cnVjdF90aW1ldmFsPXllcwpnbF9j dl9zeXNfc3RydWN0X3RpbWV2YWxfdHZfc2VjPXllcwpnbF9jdl9zeXNfc3RydWN0X3V0aW1idWY9 eWVzCmdsX2N2X3RpbWVfcl9wb3NpeD15ZXMKZ2xfY3ZfdHlwZV9wdHJkaWZmX3Rfc2lnbmVkPXll cwpnbF9jdl90eXBlX3B0cmRpZmZfdF9zdWZmaXg9bApnbF9jdl90eXBlX3NpZ19hdG9taWNfdF9z aWduZWQ9eWVzCmdsX2N2X3R5cGVfc2lnX2F0b21pY190X3N1ZmZpeD0KZ2xfY3ZfdHlwZV9zaWdz ZXRfdD15ZXMKZ2xfY3ZfdHlwZV9zaXplX3Rfc2lnbmVkPW5vCmdsX2N2X3R5cGVfc2l6ZV90X3N1 ZmZpeD11bApnbF9jdl90eXBlX3djaGFyX3Rfc2lnbmVkPXllcwpnbF9jdl90eXBlX3djaGFyX3Rf c3VmZml4PQpnbF9jdl90eXBlX3dpbnRfdF9zaWduZWQ9eWVzCmdsX2N2X3R5cGVfd2ludF90X3N1 ZmZpeD0KZ3RfY3ZfY193Y2hhcl90PXllcwpndF9jdl9zc2l6ZV90PXllcwpndF9jdl92YXJfZW52 aXJvbl9kZWNsYXJhdGlvbj1ubwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZh cmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFDTE9DQUw9JyR7U0hFTEx9IC9V c2Vycy9sZWlmL2dpdC9lbWFjcy9idWlsZC1hdXgvbWlzc2luZyAtLXJ1biBhY2xvY2FsLTEuMTIn CkFMTE9DQT0nJwpBTExPQ0FfSD0nYWxsb2NhLmgnCkFMU0FfQ0ZMQUdTPScnCkFMU0FfTElCUz0n JwpBTURFUEJBQ0tTTEFTSD0nXCcKQU1ERVBfRkFMU0U9JyMnCkFNREVQX1RSVUU9JycKQU1UQVI9 JyQke1RBUi10YXJ9JwpBUFBMRV9VTklWRVJTQUxfQlVJTEQ9JzAnCkFSPSdhcicKQVJGTEFHUz0n Y3J1JwpBVVRPQ09ORj0nJHtTSEVMTH0gL1VzZXJzL2xlaWYvZ2l0L2VtYWNzL2J1aWxkLWF1eC9t aXNzaW5nIC0tcnVuIGF1dG9jb25mJwpBVVRPSEVBREVSPScke1NIRUxMfSAvVXNlcnMvbGVpZi9n aXQvZW1hY3MvYnVpbGQtYXV4L21pc3NpbmcgLS1ydW4gYXV0b2hlYWRlcicKQVVUT01BS0U9JyR7 U0hFTEx9IC9Vc2Vycy9sZWlmL2dpdC9lbWFjcy9idWlsZC1hdXgvbWlzc2luZyAtLXJ1biBhdXRv bWFrZS0xLjEyJwpBV0s9J2F3aycKQklUU0laRU9GX1BUUkRJRkZfVD0nNjQnCkJJVFNJWkVPRl9T SUdfQVRPTUlDX1Q9JzMyJwpCSVRTSVpFT0ZfU0laRV9UPSc2NCcKQklUU0laRU9GX1dDSEFSX1Q9 JzMyJwpCSVRTSVpFT0ZfV0lOVF9UPSczMicKQkxFU1NNQUlMX1RBUkdFVD0nJwpDQU5OT1RfRFVN UD0nbm8nCkNDPSdnY2MgLXN0ZD1nbnU5OScKQ0NERVBNT0RFPSdkZXBtb2RlPWdjYzMnCkNGTEFH Uz0nLWczIC1PMicKQ0ZMQUdTX1NPVU5EPScnCkNPTV9FUlJMSUI9JycKQ1BQPSdnY2MgLUUnCkNQ UEZMQUdTPScgICcKQ1JUX0RJUj0nJwpDUllQVE9MSUI9JycKQ1lHUEFUSF9XPSdlY2hvJwpDWUdX SU5fT0JKPScnCkNfU1dJVENIX01BQ0hJTkU9JycKQ19TV0lUQ0hfU1lTVEVNPScnCkNfU1dJVENI X1hfU0lURT0nLUkvdXNyL1gxMS9pbmNsdWRlJwpEQlVTX0NGTEFHUz0nJwpEQlVTX0xJQlM9JycK REJVU19PQko9JycKREVGUz0nLURIQVZFX0NPTkZJR19IJwpERVBESVI9Jy5kZXBzJwpERVBGTEFH Uz0nLU1NRCAtTUYgJHtERVBESVJ9LyQqLmQgLU1QJwpERVNMSUI9JycKRUNIT19DPSdcYycKRUNI T19OPScnCkVDSE9fVD0nJwpFR1JFUD0nL3Vzci9iaW4vZ3JlcCAtRScKRVhFQ0lORk9fSD0nJwpF WEVFWFQ9JycKRk9OVENPTkZJR19DRkxBR1M9JycKRk9OVENPTkZJR19MSUJTPScnCkZPTlRfT0JK PScnCkZSRUVUWVBFX0NGTEFHUz0nJwpGUkVFVFlQRV9MSUJTPScnCkdDT05GX0NGTEFHUz0nJwpH Q09ORl9MSUJTPScnCkdFVExPQURBVkdfTElCUz0nJwpHRVRPUFRfSD0nZ2V0b3B0LmgnCkdMX0NP TkRfTElCVE9PTF9GQUxTRT0nJwpHTF9DT05EX0xJQlRPT0xfVFJVRT0nIycKR0xfR0VORVJBVEVf QUxMT0NBX0hfRkFMU0U9JyMnCkdMX0dFTkVSQVRFX0FMTE9DQV9IX1RSVUU9JycKR0xfR0VORVJB VEVfRVhFQ0lORk9fSF9GQUxTRT0nJwpHTF9HRU5FUkFURV9FWEVDSU5GT19IX1RSVUU9JyMnCkdM X0dFTkVSQVRFX1NUREFMSUdOX0hfRkFMU0U9JyMnCkdMX0dFTkVSQVRFX1NUREFMSUdOX0hfVFJV RT0nJwpHTF9HRU5FUkFURV9TVERBUkdfSF9GQUxTRT0nJwpHTF9HRU5FUkFURV9TVERBUkdfSF9U UlVFPScjJwpHTF9HRU5FUkFURV9TVERCT09MX0hfRkFMU0U9JycKR0xfR0VORVJBVEVfU1REQk9P TF9IX1RSVUU9JyMnCkdMX0dFTkVSQVRFX1NURERFRl9IX0ZBTFNFPScnCkdMX0dFTkVSQVRFX1NU RERFRl9IX1RSVUU9JyMnCkdMX0dFTkVSQVRFX1NURElOVF9IX0ZBTFNFPScjJwpHTF9HRU5FUkFU RV9TVERJTlRfSF9UUlVFPScnCkdNQUxMT0NfT0JKPScnCkdOVUxJQl9BVE9MTD0nMCcKR05VTElC X0NBTExPQ19QT1NJWD0nMCcKR05VTElCX0NBTk9OSUNBTElaRV9GSUxFX05BTUU9JzAnCkdOVUxJ Ql9DSERJUj0nMCcKR05VTElCX0NIT1dOPScwJwpHTlVMSUJfQ0xPU0U9JzAnCkdOVUxJQl9EUFJJ TlRGPScwJwpHTlVMSUJfRFVQMj0nMScKR05VTElCX0RVUDM9JzAnCkdOVUxJQl9EVVA9JzAnCkdO VUxJQl9FTlZJUk9OPScxJwpHTlVMSUJfRVVJREFDQ0VTUz0nMCcKR05VTElCX0ZBQ0NFU1NBVD0n MCcKR05VTElCX0ZDSERJUj0nMCcKR05VTElCX0ZDSE1PREFUPScwJwpHTlVMSUJfRkNIT1dOQVQ9 JzAnCkdOVUxJQl9GQ0xPU0U9JzAnCkdOVUxJQl9GREFUQVNZTkM9JzAnCkdOVUxJQl9GRE9QRU49 JzAnCkdOVUxJQl9GRkxVU0g9JzAnCkdOVUxJQl9GR0VUQz0nMScKR05VTElCX0ZHRVRTPScxJwpH TlVMSUJfRk9QRU49JzAnCkdOVUxJQl9GUFJJTlRGPScxJwpHTlVMSUJfRlBSSU5URl9QT1NJWD0n MCcKR05VTElCX0ZQVVJHRT0nMCcKR05VTElCX0ZQVVRDPScxJwpHTlVMSUJfRlBVVFM9JzEnCkdO VUxJQl9GUkVBRD0nMScKR05VTElCX0ZSRU9QRU49JzAnCkdOVUxJQl9GU0NBTkY9JzEnCkdOVUxJ Ql9GU0VFSz0nMCcKR05VTElCX0ZTRUVLTz0nMCcKR05VTElCX0ZTVEFUPScwJwpHTlVMSUJfRlNU QVRBVD0nMCcKR05VTElCX0ZTWU5DPScwJwpHTlVMSUJfRlRFTEw9JzAnCkdOVUxJQl9GVEVMTE89 JzAnCkdOVUxJQl9GVFJVTkNBVEU9JzAnCkdOVUxJQl9GVVRJTUVOUz0nMCcKR05VTElCX0ZXUklU RT0nMScKR05VTElCX0dFVEM9JzEnCkdOVUxJQl9HRVRDSEFSPScxJwpHTlVMSUJfR0VUQ1dEPScw JwpHTlVMSUJfR0VUREVMSU09JzAnCkdOVUxJQl9HRVRET01BSU5OQU1FPScwJwpHTlVMSUJfR0VU RFRBQkxFU0laRT0nMCcKR05VTElCX0dFVEdST1VQUz0nMCcKR05VTElCX0dFVEhPU1ROQU1FPScw JwpHTlVMSUJfR0VUTElORT0nMCcKR05VTElCX0dFVExPQURBVkc9JzEnCkdOVUxJQl9HRVRMT0dJ Tj0nMCcKR05VTElCX0dFVExPR0lOX1I9JzAnCkdOVUxJQl9HRVRQQUdFU0laRT0nMCcKR05VTElC X0dFVFNVQk9QVD0nMCcKR05VTElCX0dFVFRJTUVPRkRBWT0nMScKR05VTElCX0dFVFVTRVJTSEVM TD0nMCcKR05VTElCX0dMX1VOSVNURF9IX0dFVE9QVD0nMScKR05VTElCX0dSQU5UUFQ9JzAnCkdO VUxJQl9HUk9VUF9NRU1CRVI9JzAnCkdOVUxJQl9JTUFYQUJTPScwJwpHTlVMSUJfSU1BWERJVj0n MCcKR05VTElCX0lTQVRUWT0nMCcKR05VTElCX0xDSE1PRD0nMCcKR05VTElCX0xDSE9XTj0nMCcK R05VTElCX0xJTks9JzAnCkdOVUxJQl9MSU5LQVQ9JzAnCkdOVUxJQl9MU0VFSz0nMCcKR05VTElC X0xTVEFUPScxJwpHTlVMSUJfTUFMTE9DX1BPU0lYPScwJwpHTlVMSUJfTUJUT1dDPScwJwpHTlVM SUJfTUtESVJBVD0nMCcKR05VTElCX01LRFRFTVA9JzAnCkdOVUxJQl9NS0ZJRk89JzAnCkdOVUxJ Ql9NS0ZJRk9BVD0nMCcKR05VTElCX01LTk9EPScwJwpHTlVMSUJfTUtOT0RBVD0nMCcKR05VTElC X01LT1NURU1QPScwJwpHTlVMSUJfTUtPU1RFTVBTPScwJwpHTlVMSUJfTUtTVEVNUD0nMCcKR05V TElCX01LU1RFTVBTPScwJwpHTlVMSUJfTUtUSU1FPScxJwpHTlVMSUJfTkFOT1NMRUVQPScwJwpH TlVMSUJfT0JTVEFDS19QUklOVEY9JzAnCkdOVUxJQl9PQlNUQUNLX1BSSU5URl9QT1NJWD0nMCcK R05VTElCX1BDTE9TRT0nMCcKR05VTElCX1BFUlJPUj0nMCcKR05VTElCX1BJUEUyPScwJwpHTlVM SUJfUElQRT0nMCcKR05VTElCX1BPUEVOPScwJwpHTlVMSUJfUE9TSVhfT1BFTlBUPScwJwpHTlVM SUJfUFJFQUQ9JzAnCkdOVUxJQl9QUklOVEY9JzEnCkdOVUxJQl9QUklOVEZfUE9TSVg9JzAnCkdO VUxJQl9QU0VMRUNUPScxJwpHTlVMSUJfUFRIUkVBRF9TSUdNQVNLPScxJwpHTlVMSUJfUFRTTkFN RT0nMCcKR05VTElCX1BUU05BTUVfUj0nMCcKR05VTElCX1BVVEM9JzEnCkdOVUxJQl9QVVRDSEFS PScxJwpHTlVMSUJfUFVURU5WPScwJwpHTlVMSUJfUFVUUz0nMScKR05VTElCX1BXUklURT0nMCcK R05VTElCX1JBSVNFPScwJwpHTlVMSUJfUkFORE9NPScwJwpHTlVMSUJfUkFORE9NX1I9JzAnCkdO VUxJQl9SRUFEPScwJwpHTlVMSUJfUkVBRExJTks9JzEnCkdOVUxJQl9SRUFETElOS0FUPScwJwpH TlVMSUJfUkVBTExPQ19QT1NJWD0nMCcKR05VTElCX1JFQUxQQVRIPScwJwpHTlVMSUJfUkVNT1ZF PScwJwpHTlVMSUJfUkVOQU1FPScwJwpHTlVMSUJfUkVOQU1FQVQ9JzAnCkdOVUxJQl9STURJUj0n MCcKR05VTElCX1JQTUFUQ0g9JzAnCkdOVUxJQl9TQ0FORj0nMScKR05VTElCX1NFTEVDVD0nMCcK R05VTElCX1NFVEVOVj0nMCcKR05VTElCX1NFVEhPU1ROQU1FPScwJwpHTlVMSUJfU0lHQUNUSU9O PScwJwpHTlVMSUJfU0lHTkFMX0hfU0lHUElQRT0nMCcKR05VTElCX1NJR1BST0NNQVNLPScwJwpH TlVMSUJfU0xFRVA9JzAnCkdOVUxJQl9TTlBSSU5URj0nMCcKR05VTElCX1NQUklOVEZfUE9TSVg9 JzAnCkdOVUxJQl9TVEFUPScxJwpHTlVMSUJfU1RESU9fSF9OT05CTE9DS0lORz0nMCcKR05VTElC X1NURElPX0hfU0lHUElQRT0nMCcKR05VTElCX1NUUlBUSU1FPScwJwpHTlVMSUJfU1RSVE9EPScw JwpHTlVMSUJfU1RSVE9JTUFYPScxJwpHTlVMSUJfU1RSVE9MTD0nMCcKR05VTElCX1NUUlRPVUxM PScwJwpHTlVMSUJfU1RSVE9VTUFYPScxJwpHTlVMSUJfU1lNTElOSz0nMScKR05VTElCX1NZTUxJ TktBVD0nMCcKR05VTElCX1NZU1RFTV9QT1NJWD0nMCcKR05VTElCX1RJTUVHTT0nMCcKR05VTElC X1RJTUVfUj0nMScKR05VTElCX1RNUEZJTEU9JzAnCkdOVUxJQl9UVFlOQU1FX1I9JzAnCkdOVUxJ Ql9VTklTVERfSF9OT05CTE9DS0lORz0nMCcKR05VTElCX1VOSVNURF9IX1NJR1BJUEU9JzAnCkdO VUxJQl9VTkxJTks9JzAnCkdOVUxJQl9VTkxJTktBVD0nMCcKR05VTElCX1VOTE9DS1BUPScwJwpH TlVMSUJfVU5TRVRFTlY9JzAnCkdOVUxJQl9VU0xFRVA9JzAnCkdOVUxJQl9VVElNRU5TQVQ9JzAn CkdOVUxJQl9WQVNQUklOVEY9JzAnCkdOVUxJQl9WRFBSSU5URj0nMCcKR05VTElCX1ZGUFJJTlRG PScxJwpHTlVMSUJfVkZQUklOVEZfUE9TSVg9JzAnCkdOVUxJQl9WRlNDQU5GPScwJwpHTlVMSUJf VlBSSU5URj0nMScKR05VTElCX1ZQUklOVEZfUE9TSVg9JzAnCkdOVUxJQl9WU0NBTkY9JzAnCkdO VUxJQl9WU05QUklOVEY9JzAnCkdOVUxJQl9WU1BSSU5URl9QT1NJWD0nMCcKR05VTElCX1dBUk5f Q0ZMQUdTPScnCkdOVUxJQl9XQ1RPTUI9JzAnCkdOVUxJQl9XUklURT0nMCcKR05VTElCX19FWElU PScwJwpHTlVTVEVQX0NGTEFHUz0nJwpHTlVfT0JKQ19DRkxBR1M9JycKR09CSkVDVF9DRkxBR1M9 JycKR09CSkVDVF9MSUJTPScnCkdSRVA9Jy91c3IvYmluL2dyZXAnCkdTRVRUSU5HU19DRkxBR1M9 JycKR1NFVFRJTkdTX0xJQlM9JycKR1RLX0NGTEFHUz0nJwpHVEtfTElCUz0nJwpHVEtfT0JKPScn CkdaSVBfSU5GTz0neWVzJwpHWklQX1BST0c9Jy91c3IvYmluL2d6aXAnCkhBVkVfQVRPTEw9JzEn CkhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRT0nMScKSEFWRV9DSE9XTj0nMScKSEFWRV9ERUNM X0VOVklST049JzAnCkhBVkVfREVDTF9GQ0hESVI9JzEnCkhBVkVfREVDTF9GREFUQVNZTkM9JzEn CkhBVkVfREVDTF9GUFVSR0U9JzEnCkhBVkVfREVDTF9GU0VFS089JzEnCkhBVkVfREVDTF9GVEVM TE89JzEnCkhBVkVfREVDTF9HRVRERUxJTT0nMScKSEFWRV9ERUNMX0dFVERPTUFJTk5BTUU9JzEn CkhBVkVfREVDTF9HRVRMSU5FPScxJwpIQVZFX0RFQ0xfR0VUTE9BREFWRz0nMScKSEFWRV9ERUNM X0dFVExPR0lOX1I9JzEnCkhBVkVfREVDTF9HRVRQQUdFU0laRT0nMScKSEFWRV9ERUNMX0dFVFVT RVJTSEVMTD0nMScKSEFWRV9ERUNMX0lNQVhBQlM9JzEnCkhBVkVfREVDTF9JTUFYRElWPScxJwpI QVZFX0RFQ0xfTE9DQUxUSU1FX1I9JzEnCkhBVkVfREVDTF9PQlNUQUNLX1BSSU5URj0nMScKSEFW RV9ERUNMX1NFVEVOVj0nMScKSEFWRV9ERUNMX1NFVEhPU1ROQU1FPScxJwpIQVZFX0RFQ0xfU05Q UklOVEY9JzEnCkhBVkVfREVDTF9TVFJUT0lNQVg9JzEnCkhBVkVfREVDTF9TVFJUT1VNQVg9JzEn CkhBVkVfREVDTF9UVFlOQU1FX1I9JzEnCkhBVkVfREVDTF9VTlNFVEVOVj0nMScKSEFWRV9ERUNM X1ZTTlBSSU5URj0nMScKSEFWRV9EUFJJTlRGPScxJwpIQVZFX0RVUDI9JzEnCkhBVkVfRFVQMz0n MScKSEFWRV9FVUlEQUNDRVNTPScxJwpIQVZFX0ZBQ0NFU1NBVD0nMScKSEFWRV9GQ0hESVI9JzEn CkhBVkVfRkNITU9EQVQ9JzEnCkhBVkVfRkNIT1dOQVQ9JzEnCkhBVkVfRkRBVEFTWU5DPScxJwpI QVZFX0ZTRUVLTz0nMScKSEFWRV9GU1RBVEFUPScxJwpIQVZFX0ZTWU5DPScxJwpIQVZFX0ZURUxM Tz0nMScKSEFWRV9GVFJVTkNBVEU9JzEnCkhBVkVfRlVUSU1FTlM9JzEnCkhBVkVfR0VURFRBQkxF U0laRT0nMScKSEFWRV9HRVRHUk9VUFM9JzEnCkhBVkVfR0VUSE9TVE5BTUU9JzEnCkhBVkVfR0VU TE9HSU49JzEnCkhBVkVfR0VUT1BUX0g9JzEnCkhBVkVfR0VUUEFHRVNJWkU9JzEnCkhBVkVfR0VU U1VCT1BUPScxJwpIQVZFX0dFVFRJTUVPRkRBWT0nMScKSEFWRV9HUkFOVFBUPScxJwpIQVZFX0dS T1VQX01FTUJFUj0nMScKSEFWRV9JTlRUWVBFU19IPScxJwpIQVZFX0xDSE1PRD0nMScKSEFWRV9M Q0hPV049JzEnCkhBVkVfTElOSz0nMScKSEFWRV9MSU5LQVQ9JzEnCkhBVkVfTE9OR19MT05HX0lO VD0nMScKSEFWRV9MU1RBVD0nMScKSEFWRV9NQUtFSU5GTz0neWVzJwpIQVZFX01LRElSQVQ9JzEn CkhBVkVfTUtEVEVNUD0nMScKSEFWRV9NS0ZJRk89JzEnCkhBVkVfTUtGSUZPQVQ9JzEnCkhBVkVf TUtOT0Q9JzEnCkhBVkVfTUtOT0RBVD0nMScKSEFWRV9NS09TVEVNUD0nMScKSEFWRV9NS09TVEVN UFM9JzEnCkhBVkVfTUtTVEVNUD0nMScKSEFWRV9NS1NURU1QUz0nMScKSEFWRV9OQU5PU0xFRVA9 JzEnCkhBVkVfT1NfSD0nMCcKSEFWRV9QQ0xPU0U9JzEnCkhBVkVfUElQRTI9JzEnCkhBVkVfUElQ RT0nMScKSEFWRV9QT1BFTj0nMScKSEFWRV9QT1NJWF9PUEVOUFQ9JzEnCkhBVkVfUE9TSVhfU0lH TkFMQkxPQ0tJTkc9JzEnCkhBVkVfUFJFQUQ9JzEnCkhBVkVfUFNFTEVDVD0nMScKSEFWRV9QVEhS RUFEX1NJR01BU0s9JzEnCkhBVkVfUFRTTkFNRT0nMScKSEFWRV9QVFNOQU1FX1I9JzEnCkhBVkVf UFdSSVRFPScxJwpIQVZFX1JBSVNFPScxJwpIQVZFX1JBTkRPTT0nMScKSEFWRV9SQU5ET01fSD0n MScKSEFWRV9SQU5ET01fUj0nMScKSEFWRV9SRUFETElOSz0nMScKSEFWRV9SRUFETElOS0FUPScx JwpIQVZFX1JFQUxQQVRIPScxJwpIQVZFX1JFTkFNRUFUPScxJwpIQVZFX1JQTUFUQ0g9JzEnCkhB VkVfU0VURU5WPScxJwpIQVZFX1NFVEhPU1ROQU1FPScxJwpIQVZFX1NJR0FDVElPTj0nMScKSEFW RV9TSUdIQU5ETEVSX1Q9JzAnCkhBVkVfU0lHSU5GT19UPScxJwpIQVZFX1NJR05FRF9TSUdfQVRP TUlDX1Q9JzEnCkhBVkVfU0lHTkVEX1dDSEFSX1Q9JzEnCkhBVkVfU0lHTkVEX1dJTlRfVD0nMScK SEFWRV9TSUdTRVRfVD0nMScKSEFWRV9TTEVFUD0nMScKSEFWRV9TVERJTlRfSD0nMScKSEFWRV9T VFJQVElNRT0nMScKSEFWRV9TVFJUT0Q9JzEnCkhBVkVfU1RSVE9MTD0nMScKSEFWRV9TVFJUT1VM TD0nMScKSEFWRV9TVFJVQ1RfUkFORE9NX0RBVEE9JzEnCkhBVkVfU1RSVUNUX1NJR0FDVElPTl9T QV9TSUdBQ1RJT049JzEnCkhBVkVfU1RSVUNUX1RJTUVWQUw9JzEnCkhBVkVfU1lNTElOSz0nMScK SEFWRV9TWU1MSU5LQVQ9JzEnCkhBVkVfU1lTX0JJVFlQRVNfSD0nMCcKSEFWRV9TWVNfSU5UVFlQ RVNfSD0nMCcKSEFWRV9TWVNfTE9BREFWR19IPScwJwpIQVZFX1NZU19QQVJBTV9IPScwJwpIQVZF X1NZU19TRUxFQ1RfSD0nMScKSEFWRV9TWVNfVElNRV9IPScxJwpIQVZFX1NZU19UWVBFU19IPScx JwpIQVZFX1RJTUVHTT0nMScKSEFWRV9UWVBFX1ZPTEFUSUxFX1NJR19BVE9NSUNfVD0nMScKSEFW RV9VTklTVERfSD0nMScKSEFWRV9VTkxJTktBVD0nMScKSEFWRV9VTkxPQ0tQVD0nMScKSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UPScxJwpIQVZFX1VTTEVFUD0nMScKSEFWRV9VVElNRU5TQVQ9 JzEnCkhBVkVfVkFTUFJJTlRGPScxJwpIQVZFX1ZEUFJJTlRGPScxJwpIQVZFX1dDSEFSX0g9JzEn CkhBVkVfV0NIQVJfVD0nMScKSEFWRV9XSU5TT0NLMl9IPScwJwpIQVZFX1hTRVJWRVI9JycKSEFW RV9fQk9PTD0nMScKSEFWRV9fRVhJVD0nMScKSU1BR0VNQUdJQ0tfQ0ZMQUdTPScnCklNQUdFTUFH SUNLX0xJQlM9JycKSU5DTFVERV9ORVhUPSdpbmNsdWRlX25leHQnCklOQ0xVREVfTkVYVF9BU19G SVJTVF9ESVJFQ1RJVkU9J2luY2x1ZGVfbmV4dCcKSU5GT19FWFQ9Jy5pbmZvJwpJTkZPX09QVFM9 Jy0tbm8tc3BsaXQnCklOU1RBTExfQVJDSF9JTkRFUF9FWFRSQT0nJwpJTlNUQUxMX0RBVEE9JyR7 SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX0lORk89Jy91c3IvYmluL2luc3RhbGwtaW5mbycKSU5T VEFMTF9QUk9HUkFNPScke0lOU1RBTEx9JwpJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxMfScKSU5T VEFMTF9TVFJJUF9QUk9HUkFNPSckKGluc3RhbGxfc2gpIC1jIC1zJwpJTlQzMl9NQVhfTFRfSU5U TUFYX01BWD0nMScKSU5UNjRfTUFYX0VRX0xPTkdfTUFYPSdkZWZpbmVkIF9MUDY0JwpLUkI0TElC PScnCktSQjVMSUI9JycKTERGTEFHUz0nJwpMRF9GSVJTVEZMQUc9JycKTERfU1dJVENIX1NZU1RF TT0nJwpMRF9TV0lUQ0hfU1lTVEVNX1RFTUFDUz0nLWZuby1waWUgLXByZWJpbmQgLWZyYW1ld29y ayBBcHBLaXQgLVhsaW5rZXIgLWhlYWRlcnBhZCAtWGxpbmtlciA2QzgnCkxEX1NXSVRDSF9YX1NJ VEU9Jy1ML3Vzci9YMTEvbGliJwpMRF9TV0lUQ0hfWF9TSVRFX1JQQVRIPSctV2wsLXJwYXRoLC91 c3IvWDExL2xpYicKTElCR0lGPScnCkxJQkdOVVRMU19DRkxBR1M9JycKTElCR05VVExTX0xJQlM9 JycKTElCR05VX0xJQkRFUFM9JycKTElCR05VX0xUTElCREVQUz0nJwpMSUJHUE09JycKTElCSEVT SU9EPScnCkxJQklOVEw9JycKTElCSlBFRz0nJwpMSUJPQkpTPScnCkxJQk9URl9DRkxBR1M9JycK TElCT1RGX0xJQlM9JycKTElCUE5HPScnCkxJQlJFU09MVj0nJwpMSUJTPSctbG0gIC1scHRocmVh ZCAgJwpMSUJTRUxJTlVYX0xJQlM9JycKTElCU09VTkQ9JycKTElCU19NQUlMPScnCkxJQlNfU1lT VEVNPScnCkxJQlNfVEVSTUNBUD0nLWxuY3Vyc2VzJwpMSUJUSUZGPScnCkxJQlhNRU5VPScnCkxJ QlhNTDJfQ0ZMQUdTPScnCkxJQlhNTDJfTElCUz0nJwpMSUJYTVU9Jy1sWG11JwpMSUJYUE09JycK TElCWFNNPScnCkxJQlhUUjY9JycKTElCWFRfT1RIRVI9JyQoTElCWFNNKScKTElCWF9PVEhFUj0n JwpMSUJfQ0xPQ0tfR0VUVElNRT0nJwpMSUJfRVhFQ0lORk89JycKTElCX0dDQz0nJwpMSUJfTUFU SD0nJwpMSUJfUFRIUkVBRD0nLWxwdGhyZWFkJwpMSUJfUFRIUkVBRF9TSUdNQVNLPScnCkxJQl9T VEFOREFSRD0nJwpMTl9TPSdsbiAtcycKTFRMSUJJTlRMPScnCkxUTElCT0JKUz0nJwpNMTdOX0ZM VF9DRkxBR1M9JycKTTE3Tl9GTFRfTElCUz0nJwpNQUtFSU5GTz0nL3Vzci9iaW4vbWFrZWluZm8n Ck1LREVQRElSPScke01LRElSX1B9ICR7REVQRElSfScKTUtESVJfUD0nL3Vzci9sb2NhbC9DZWxs YXIvY29yZXV0aWxzLzguMTkvbGliZXhlYy9nbnViaW4vbWtkaXIgLXAnCk5FWFRfQVNfRklSU1Rf RElSRUNUSVZFX0dFVE9QVF9IPSc8Z2V0b3B0Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9J TlRUWVBFU19IPSc8aW50dHlwZXMuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NJR05BTF9I PSc8c2lnbmFsLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERBUkdfSD0nJwpORVhUX0FT X0ZJUlNUX0RJUkVDVElWRV9TVERERUZfSD0nJwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERJ TlRfSD0nPHN0ZGludC5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1RESU9fSD0nPHN0ZGlv Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERMSUJfSD0nPHN0ZGxpYi5oPicKTkVYVF9B U19GSVJTVF9ESVJFQ1RJVkVfU1lTX1NFTEVDVF9IPSc8c3lzL3NlbGVjdC5oPicKTkVYVF9BU19G SVJTVF9ESVJFQ1RJVkVfU1lTX1NUQVRfSD0nPHN5cy9zdGF0Lmg+JwpORVhUX0FTX0ZJUlNUX0RJ UkVDVElWRV9TWVNfVElNRV9IPSc8c3lzL3RpbWUuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZF X1RJTUVfSD0nPHRpbWUuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1VOSVNURF9IPSc8dW5p c3RkLmg+JwpORVhUX0dFVE9QVF9IPSc8Z2V0b3B0Lmg+JwpORVhUX0lOVFRZUEVTX0g9JzxpbnR0 eXBlcy5oPicKTkVYVF9TSUdOQUxfSD0nPHNpZ25hbC5oPicKTkVYVF9TVERBUkdfSD0nPHN0ZGFy Zy5oPicKTkVYVF9TVERERUZfSD0nJwpORVhUX1NURElOVF9IPSc8c3RkaW50Lmg+JwpORVhUX1NU RElPX0g9JzxzdGRpby5oPicKTkVYVF9TVERMSUJfSD0nPHN0ZGxpYi5oPicKTkVYVF9TWVNfU0VM RUNUX0g9JzxzeXMvc2VsZWN0Lmg+JwpORVhUX1NZU19TVEFUX0g9JzxzeXMvc3RhdC5oPicKTkVY VF9TWVNfVElNRV9IPSc8c3lzL3RpbWUuaD4nCk5FWFRfVElNRV9IPSc8dGltZS5oPicKTkVYVF9V TklTVERfSD0nPHVuaXN0ZC5oPicKTlNfT0JKPScnCk5TX09CSkNfT0JKPSduc3Rlcm0ubyBuc2Zu cy5vIG5zbWVudS5vIG5zc2VsZWN0Lm8gbnNpbWFnZS5vIG5zZm9udC5vJwpPQkpFWFQ9J28nCk9M RFhNRU5VPSdub3RoaW5nJwpPTERYTUVOVV9ERVBTPScnCk9MRFhNRU5VX1RBUkdFVD0ncmVhbGx5 LW9sZFhNZW51JwpPVEhFUl9GSUxFUz0nbnMtYXBwJwpQQUNLQUdFPSdlbWFjcycKUEFDS0FHRV9C VUdSRVBPUlQ9JycKUEFDS0FHRV9OQU1FPSdlbWFjcycKUEFDS0FHRV9TVFJJTkc9J2VtYWNzIDI0 LjIuNTAnClBBQ0tBR0VfVEFSTkFNRT0nZW1hY3MnClBBQ0tBR0VfVVJMPScnClBBQ0tBR0VfVkVS U0lPTj0nMjQuMi41MCcKUEFUSF9TRVBBUkFUT1I9JzonClBBWENUTD0nJwpQS0dfQ09ORklHPScv dXNyL2xvY2FsL2Jpbi9wa2ctY29uZmlnJwpQT1NUX0FMTE9DX09CSj0nJwpQUkFHTUFfQ09MVU1O Uz0nJwpQUkFHTUFfU1lTVEVNX0hFQURFUj0nI3ByYWdtYSBHQ0Mgc3lzdGVtX2hlYWRlcicKUFJF X0FMTE9DX09CSj0nbGFzdGZpbGUubycKUFJJUFRSX1BSRUZJWD0nX19QUklQVFJfUFJFRklYJwpQ UklfTUFDUk9TX0JST0tFTj0nMCcKUFJPRklMSU5HX0NGTEFHUz0nJwpQVEhSRUFEX0hfREVGSU5F U19TVFJVQ1RfVElNRVNQRUM9JzAnClBUUkRJRkZfVF9TVUZGSVg9J2wnClJBTExPQ19PQko9JycK UkFOTElCPSdyYW5saWInClJFUExBQ0VfQ0FMTE9DPScwJwpSRVBMQUNFX0NBTk9OSUNBTElaRV9G SUxFX05BTUU9JzAnClJFUExBQ0VfQ0hPV049JzAnClJFUExBQ0VfQ0xPU0U9JzAnClJFUExBQ0Vf RFBSSU5URj0nMCcKUkVQTEFDRV9EVVAyPScwJwpSRVBMQUNFX0RVUD0nMCcKUkVQTEFDRV9GQ0hP V05BVD0nMCcKUkVQTEFDRV9GQ0xPU0U9JzAnClJFUExBQ0VfRkRPUEVOPScwJwpSRVBMQUNFX0ZG TFVTSD0nMCcKUkVQTEFDRV9GT1BFTj0nMCcKUkVQTEFDRV9GUFJJTlRGPScwJwpSRVBMQUNFX0ZQ VVJHRT0nMCcKUkVQTEFDRV9GUkVPUEVOPScwJwpSRVBMQUNFX0ZTRUVLPScwJwpSRVBMQUNFX0ZT RUVLTz0nMCcKUkVQTEFDRV9GU1RBVD0nMCcKUkVQTEFDRV9GU1RBVEFUPScwJwpSRVBMQUNFX0ZU RUxMPScwJwpSRVBMQUNFX0ZURUxMTz0nMCcKUkVQTEFDRV9GVFJVTkNBVEU9JzAnClJFUExBQ0Vf RlVUSU1FTlM9JzAnClJFUExBQ0VfR0VUQ1dEPScwJwpSRVBMQUNFX0dFVERFTElNPScwJwpSRVBM QUNFX0dFVERPTUFJTk5BTUU9JzAnClJFUExBQ0VfR0VUR1JPVVBTPScwJwpSRVBMQUNFX0dFVExJ TkU9JzAnClJFUExBQ0VfR0VUTE9HSU5fUj0nMCcKUkVQTEFDRV9HRVRQQUdFU0laRT0nMCcKUkVQ TEFDRV9HRVRUSU1FT0ZEQVk9JzAnClJFUExBQ0VfSVNBVFRZPScwJwpSRVBMQUNFX0xDSE9XTj0n MCcKUkVQTEFDRV9MSU5LPScwJwpSRVBMQUNFX0xJTktBVD0nMCcKUkVQTEFDRV9MT0NBTFRJTUVf Uj0nMCcKUkVQTEFDRV9MU0VFSz0nMCcKUkVQTEFDRV9MU1RBVD0nMScKUkVQTEFDRV9NQUxMT0M9 JzAnClJFUExBQ0VfTUJUT1dDPScwJwpSRVBMQUNFX01LRElSPScwJwpSRVBMQUNFX01LRklGTz0n MCcKUkVQTEFDRV9NS05PRD0nMCcKUkVQTEFDRV9NS1NURU1QPScwJwpSRVBMQUNFX01LVElNRT0n MScKUkVQTEFDRV9OQU5PU0xFRVA9J0dOVUxJQl9QT1JUQ0hFQ0snClJFUExBQ0VfTlVMTD0nMCcK UkVQTEFDRV9PQlNUQUNLX1BSSU5URj0nMCcKUkVQTEFDRV9QRVJST1I9JzAnClJFUExBQ0VfUE9Q RU49JzAnClJFUExBQ0VfUFJFQUQ9JzAnClJFUExBQ0VfUFJJTlRGPScwJwpSRVBMQUNFX1BTRUxF Q1Q9JzAnClJFUExBQ0VfUFRIUkVBRF9TSUdNQVNLPScwJwpSRVBMQUNFX1BUU05BTUVfUj0nMCcK UkVQTEFDRV9QVVRFTlY9JzAnClJFUExBQ0VfUFdSSVRFPScwJwpSRVBMQUNFX1JBSVNFPScwJwpS RVBMQUNFX1JBTkRPTV9SPScwJwpSRVBMQUNFX1JFQUQ9JzAnClJFUExBQ0VfUkVBRExJTks9JzEn ClJFUExBQ0VfUkVBTExPQz0nMCcKUkVQTEFDRV9SRUFMUEFUSD0nMCcKUkVQTEFDRV9SRU1PVkU9 JzAnClJFUExBQ0VfUkVOQU1FPScwJwpSRVBMQUNFX1JFTkFNRUFUPScwJwpSRVBMQUNFX1JNRElS PScwJwpSRVBMQUNFX1NFTEVDVD0nMCcKUkVQTEFDRV9TRVRFTlY9JzAnClJFUExBQ0VfU0xFRVA9 JzAnClJFUExBQ0VfU05QUklOVEY9JzAnClJFUExBQ0VfU1BSSU5URj0nMCcKUkVQTEFDRV9TVEFU PScxJwpSRVBMQUNFX1NURElPX1JFQURfRlVOQ1M9JzAnClJFUExBQ0VfU1RESU9fV1JJVEVfRlVO Q1M9JzAnClJFUExBQ0VfU1RSVE9EPScwJwpSRVBMQUNFX1NUUlRPSU1BWD0nMCcKUkVQTEFDRV9T VFJVQ1RfVElNRVZBTD0nMCcKUkVQTEFDRV9TWU1MSU5LPScxJwpSRVBMQUNFX1RJTUVHTT0nR05V TElCX1BPUlRDSEVDSycKUkVQTEFDRV9UTVBGSUxFPScwJwpSRVBMQUNFX1RUWU5BTUVfUj0nMCcK UkVQTEFDRV9VTkxJTks9JzAnClJFUExBQ0VfVU5MSU5LQVQ9JzAnClJFUExBQ0VfVU5TRVRFTlY9 JzAnClJFUExBQ0VfVVNMRUVQPScwJwpSRVBMQUNFX1VUSU1FTlNBVD0nMCcKUkVQTEFDRV9WQVNQ UklOVEY9JzAnClJFUExBQ0VfVkRQUklOVEY9JzAnClJFUExBQ0VfVkZQUklOVEY9JzAnClJFUExB Q0VfVlBSSU5URj0nMCcKUkVQTEFDRV9WU05QUklOVEY9JzAnClJFUExBQ0VfVlNQUklOVEY9JzAn ClJFUExBQ0VfV0NUT01CPScwJwpSRVBMQUNFX1dSSVRFPScwJwpSU1ZHX0NGTEFHUz0nJwpSU1ZH X0xJQlM9JycKU0VUVElOR1NfQ0ZMQUdTPScnClNFVFRJTkdTX0xJQlM9JycKU0VUX01BS0U9JycK U0hFTEw9Jy9iaW4vc2gnClNJR19BVE9NSUNfVF9TVUZGSVg9JycKU0laRV9UX1NVRkZJWD0ndWwn ClNUQVJUX0ZJTEVTPSdwcmUtY3J0MC5vJwpTVERBTElHTl9IPSdzdGRhbGlnbi5oJwpTVERBUkdf SD0nJwpTVERCT09MX0g9JycKU1REREVGX0g9JycKU1RESU5UX0g9J3N0ZGludC5oJwpTVFJJUD0n JwpTVUJESVJfTUFLRUZJTEVTX0lOPScgJChzcmNkaXIpL2xpYi9NYWtlZmlsZS5pbiAkKHNyY2Rp cikvbGliLXNyYy9NYWtlZmlsZS5pbiAkKHNyY2Rpcikvb2xkWE1lbnUvTWFrZWZpbGUuaW4gJChz cmNkaXIpL2RvYy9lbWFjcy9NYWtlZmlsZS5pbiAkKHNyY2RpcikvZG9jL21pc2MvTWFrZWZpbGUu aW4gJChzcmNkaXIpL2RvYy9saXNwaW50cm8vTWFrZWZpbGUuaW4gJChzcmNkaXIpL2RvYy9saXNw cmVmL01ha2VmaWxlLmluICQoc3JjZGlyKS9zcmMvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2x3bGli L01ha2VmaWxlLmluICQoc3JjZGlyKS9saXNwL01ha2VmaWxlLmluICQoc3JjZGlyKS9sZWltL01h a2VmaWxlLmluICQoc3JjZGlyKS9uZXh0c3RlcC9NYWtlZmlsZS5pbiAkKHNyY2RpcikvdGVzdC9h dXRvbWF0ZWQvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2FkbWluL3VuaWRhdGEvTWFrZWZpbGUuaW4n ClNZU19USU1FX0hfREVGSU5FU19TVFJVQ1RfVElNRVNQRUM9JzAnClRFTUFDU19MREZMQUdTMj0n JHtMREZMQUdTfScKVEVSTUNBUF9PQko9J3Rlcm1pbmZvLm8nClRJTUVfSF9ERUZJTkVTX1NUUlVD VF9USU1FU1BFQz0nMScKVE9PTEtJVF9MSUJXPScnClVJTlQzMl9NQVhfTFRfVUlOVE1BWF9NQVg9 JzEnClVJTlQ2NF9NQVhfRVFfVUxPTkdfTUFYPSdkZWZpbmVkIF9MUDY0JwpVTkVYRUNfT0JKPSd1 bmV4bWFjb3N4Lm8nClVOSVNURF9IX0hBVkVfV0lOU09DSzJfSD0nMCcKVU5JU1REX0hfSEFWRV9X SU5TT0NLMl9IX0FORF9VU0VfU09DS0VUUz0nMCcKVkVSU0lPTj0nMjQuMi41MCcKVk1MSU1JVF9P Qko9JycKV0FSTl9DRkxBR1M9JycKV0NIQVJfVF9TVUZGSVg9JycKV0VSUk9SX0NGTEFHUz0nJwpX SURHRVRfT0JKPScnCldJTkRPV1NfNjRfQklUX09GRl9UPScwJwpXSU5ET1dTXzY0X0JJVF9TVF9T SVpFPScwJwpXSU5ET1dfU1lTVEVNX09CSj0nZm9udHNldC5vIGZyaW5nZS5vIGltYWdlLm8nCldJ TlRfVF9TVUZGSVg9JycKWEZUX0NGTEFHUz0nJwpYRlRfTElCUz0nJwpYTUVOVV9PQko9JycKWE1L TUY9JycKWE9CSj0nJwpYX1RPT0xLSVRfVFlQRT0nbm9uZScKYWNfY3RfQ0M9J2djYycKYW1fX0VY RUVYVF9GQUxTRT0nJwphbV9fRVhFRVhUX1RSVUU9JyMnCmFtX19mYXN0ZGVwQ0NfRkFMU0U9JyMn CmFtX19mYXN0ZGVwQ0NfVFJVRT0nJwphbV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2lzcmM9JycK YW1fX2xlYWRpbmdfZG90PScuJwphbV9fbm9kZXA9J19ubycKYW1fX3F1b3RlPScnCmFtX190YXI9 JyQke1RBUi10YXJ9IGNob2YgLSAiJCR0YXJkaXIiJwphbV9fdW50YXI9JyQke1RBUi10YXJ9IHhm IC0nCmFyY2hsaWJkaXI9JyR7bnNfYXBwYmluZGlyfS9saWJleGVjJwpiaW5kaXI9JyR7ZXhlY19w cmVmaXh9L2JpbicKYml0bWFwZGlyPScvdXNyL1gxMS9pbmNsdWRlL1gxMS9iaXRtYXBzJwpidWls ZD0naTM4Ni1hcHBsZS1kYXJ3aW4xMi4xLjAnCmJ1aWxkX2FsaWFzPScnCmJ1aWxkX2NwdT0naTM4 NicKYnVpbGRfb3M9J2RhcndpbjEyLjEuMCcKYnVpbGRfdmVuZG9yPSdhcHBsZScKY2FjaGVfZmls ZT0nL2Rldi9udWxsJwpjYW5vbmljYWw9J2kzODYtYXBwbGUtZGFyd2luMTIuMS4wJwpjb25maWd1 cmF0aW9uPSdpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCcKY29weXJpZ2h0PSdDb3B5cmlnaHQgKEMp IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuJwpkYXRhZGlyPScke2RhdGFyb290 ZGlyfScKZGF0YXJvb3RkaXI9JyR7cHJlZml4fS9zaGFyZScKZG9jZGlyPScke25zX2FwcHJlc2Rp cn0vZXRjJwpkdmlkaXI9JyR7ZG9jZGlyfScKZXRjZGlyPScke25zX2FwcHJlc2Rpcn0vZXRjJwpl eGVjX3ByZWZpeD0nL1VzZXJzL2xlaWYvZ2l0L2VtYWNzL25leHRzdGVwL0VtYWNzLmFwcC9Db250 ZW50cy9NYWNPUycKZ2FtZWRpcj0nJHtsb2NhbHN0YXRlZGlyfS9nYW1lcy9lbWFjcycKZ2FtZXVz ZXI9J2dhbWVzJwpnbF9HTlVMSUJfRU5BQkxFRF9iZTQ1M2NlYzVlZWNmNTczMWEyNzRmMmRlN2Yy ZGIzNl9GQUxTRT0nIycKZ2xfR05VTElCX0VOQUJMRURfYmU0NTNjZWM1ZWVjZjU3MzFhMjc0ZjJk ZTdmMmRiMzZfVFJVRT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9kb3NuYW1lX0ZBTFNFPScjJwpnbF9H TlVMSUJfRU5BQkxFRF9kb3NuYW1lX1RSVUU9JycKZ2xfR05VTElCX0VOQUJMRURfcGF0aG1heF9G QUxTRT0nIycKZ2xfR05VTElCX0VOQUJMRURfcGF0aG1heF9UUlVFPScnCmdsX0dOVUxJQl9FTkFC TEVEX3N0YXRfRkFMU0U9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX3N0YXRfVFJVRT0nJwpnbF9HTlVM SUJfRU5BQkxFRF9zdHJ0b2xsX0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEX3N0cnRvbGxfVFJV RT0nIycKZ2xfR05VTElCX0VOQUJMRURfc3RydG91bGxfRkFMU0U9JycKZ2xfR05VTElCX0VOQUJM RURfc3RydG91bGxfVFJVRT0nIycKZ2xfR05VTElCX0VOQUJMRURfdmVyaWZ5X0ZBTFNFPScjJwpn bF9HTlVMSUJfRU5BQkxFRF92ZXJpZnlfVFJVRT0nJwpnbF9MSUJPQkpTPScgZ2V0b3B0Lm8gZ2V0 b3B0MS5vIGxzdGF0Lm8gbWt0aW1lLm8gcmVhZGxpbmsubyBzdGF0Lm8gc3ltbGluay5vJwpnbF9M VExJQk9CSlM9JyBnZXRvcHQubG8gZ2V0b3B0MS5sbyBsc3RhdC5sbyBta3RpbWUubG8gcmVhZGxp bmsubG8gc3RhdC5sbyBzeW1saW5rLmxvJwpnbHRlc3RzX0xJQk9CSlM9JycKZ2x0ZXN0c19MVExJ Qk9CSlM9JycKZ2x0ZXN0c19XSVRORVNTPSdJTl9FTUFDU19HTlVMSUJfVEVTVFMnCmhvc3Q9J2kz ODYtYXBwbGUtZGFyd2luMTIuMS4wJwpob3N0X2FsaWFzPScnCmhvc3RfY3B1PSdpMzg2Jwpob3N0 X29zPSdkYXJ3aW4xMi4xLjAnCmhvc3RfdmVuZG9yPSdhcHBsZScKaHRtbGRpcj0nJHtkb2NkaXJ9 JwppbmNsdWRlZGlyPScke3ByZWZpeH0vaW5jbHVkZScKaW5mb2Rpcj0nJHtuc19hcHByZXNkaXJ9 L2luZm8nCmluc3RhbGxfc2g9JyR7U0hFTEx9IC9Vc2Vycy9sZWlmL2dpdC9lbWFjcy9idWlsZC1h dXgvaW5zdGFsbC1zaCcKbGVpbWRpcj0nJHtuc19hcHByZXNkaXJ9L2xlaW0nCmxpYmRpcj0nJHtl eGVjX3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke25zX2FwcGJpbmRpcn0vbGliZXhlYycKbGli bG9ja2ZpbGU9J25vJwpsaXNwZGlyPScke25zX2FwcHJlc2Rpcn0vbGlzcCcKbGlzcHBhdGg9JyR7 bG9jYWxsaXNwcGF0aH06JHtzdGFuZGFyZGxpc3BwYXRofScKbG9jYWxlZGlyPScke2RhdGFyb290 ZGlyfS9sb2NhbGUnCmxvY2FsbGlzcHBhdGg9JyR7ZGF0YWRpcn0vZW1hY3MvJHt2ZXJzaW9ufS9z aXRlLWxpc3A6JHtkYXRhZGlyfS9lbWFjcy9zaXRlLWxpc3AnCmxvY2Fsc3RhdGVkaXI9JyR7cHJl Zml4fS92YXInCm1hbmRpcj0nJHtuc19hcHByZXNkaXJ9L21hbicKbWtkaXJfcD0nJChNS0RJUl9Q KScKbnNfYXBwYmluZGlyPScvVXNlcnMvbGVpZi9naXQvZW1hY3MvbmV4dHN0ZXAvRW1hY3MuYXBw L0NvbnRlbnRzL01hY09TJwpuc19hcHBkaXI9Jy9Vc2Vycy9sZWlmL2dpdC9lbWFjcy9uZXh0c3Rl cC9FbWFjcy5hcHAnCm5zX2FwcHJlc2Rpcj0nL1VzZXJzL2xlaWYvZ2l0L2VtYWNzL25leHRzdGVw L0VtYWNzLmFwcC9Db250ZW50cy9SZXNvdXJjZXMnCm5zX2FwcHNyYz0nQ29jb2EvRW1hY3MuYmFz ZScKbnNfc2VsZl9jb250YWluZWQ9J3llcycKb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpw ZGZkaXI9JyR7ZG9jZGlyfScKcHJlZml4PScvVXNlcnMvbGVpZi9naXQvZW1hY3MvbmV4dHN0ZXAv RW1hY3MuYXBwL0NvbnRlbnRzL1Jlc291cmNlcycKcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0ncyx4 LHgsJwpwc2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJwpzaGFy ZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3JjZGlyPScvVXNlcnMvbGVpZi9naXQvZW1hY3Mn CnN0YW5kYXJkbGlzcHBhdGg9JyR7bGlzcGRpcn06JHtsZWltZGlyfScKc3lzY29uZmRpcj0nJHtw cmVmaXh9L2V0YycKdGFyZ2V0X2FsaWFzPScnCnZlcnNpb249JzI0LjIuNTAnCnhfZGVmYXVsdF9z ZWFyY2hfcGF0aD0nL3Vzci9YMTEvc2hhcmUvWDExLyVMLyVULyVOJUMlUzovdXNyL1gxMS9zaGFy ZS9YMTEvJWwvJVQvJU4lQyVTOi91c3IvWDExL3NoYXJlL1gxMS8lVC8lTiVDJVM6L3Vzci9YMTEv c2hhcmUvWDExLyVMLyVULyVOJVM6L3Vzci9YMTEvc2hhcmUvWDExLyVsLyVULyVOJVM6L3Vzci9Y MTEvc2hhcmUvWDExLyVULyVOJVM6L3Vzci9YMTEvbGliL1gxMS8lTC8lVC8lTiVDJVM6L3Vzci9Y MTEvbGliL1gxMS8lbC8lVC8lTiVDJVM6L3Vzci9YMTEvbGliL1gxMS8lVC8lTiVDJVM6L3Vzci9Y MTEvbGliL1gxMS8lTC8lVC8lTiVTOi91c3IvWDExL2xpYi9YMTEvJWwvJVQvJU4lUzovdXNyL1gx MS9saWIvWDExLyVULyVOJVMnCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIEZpbGUgc3Vi c3RpdHV0aW9ucy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKZGVwc19mcmFnPScvVXNl cnMvbGVpZi9naXQvZW1hY3Mvc3JjL2F1dG9kZXBzLm1rJwpsaXNwX2ZyYWc9Jy9Vc2Vycy9sZWlm L2dpdC9lbWFjcy9zcmMvbGlzcC5taycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmgu ICMjCiMjIC0tLS0tLS0tLS0tICMjCgovKiBjb25mZGVmcy5oICovCiNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgojZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuMi41MCIKI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41 MCIKI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgojZGVmaW5lIFBBQ0tBR0VfVVJMICIiCiNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCiNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKI2RlZmluZSBN QUlMX1VTRV9QT1AgMQojZGVmaW5lIFNURENfSEVBREVSUyAxCiNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKI2RlZmluZSBIQVZFX1NURExJQl9IIDEK I2RlZmluZSBIQVZFX1NUUklOR19IIDEKI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CiNkZWZpbmUgX0FMTF9TT1VSQ0UgMQojZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQojZGVmaW5l IF9HTlVfU09VUkNFIDEKI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQojZGVmaW5l IF9UQU5ERU1fU09VUkNFIDEKI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgojZGVmaW5lIEhB VkVfRkNOVExfSCAxCiNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCiNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKI2RlZmluZSBIQVZFX1BXRF9IIDEKI2RlZmluZSBIQVZFX1VUTVBfSCAx CiNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCiNkZWZpbmUgSEFWRV9VVElMX0ggMQojZGVmaW5lIEhB VkVfU1lTX1NPQ0tFVF9IIDEKI2RlZmluZSBIQVZFX1NURExJQl9IIDEKI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCiNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQojZGVmaW5lIEhBVkVfU1lTX1VOX0gg MQojZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCiNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCiNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKI2RlZmluZSBIQVZFX1dDSEFSX0ggMQojZGVmaW5lIEhBVkVf U1RESU5UX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFWRV9VVElNRV9IIDEK I2RlZmluZSBIQVZFX1RFUk1fSCAxCiNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKI2RlZmlu ZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAojZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNU IDAKI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQojZGVmaW5lIEhBVkVfU1BFRURfVCAxCiNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCiNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQojZGVmaW5lIEhBVkVf TkVUX0lGX0RMX0ggMQojZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCiNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCiNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFIgMQojZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xF TiAxCiNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQojZGVmaW5lIE5TX0hBVkVfTlNJTlRF R0VSIDEKI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCiNkZWZpbmUgU1lTVEVNX01BTExP QyAxCiNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCiNkZWZpbmUgSEFWRV9NTUFQIDEKI2RlZmlu ZSBIQVZFX1BUSFJFQUQgMQojZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKI2RlZmlu ZSBVU0VfWElNIDEKI2RlZmluZSBIQVZFX05TIDEKI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKI2Rl ZmluZSBIQVZFX0hfRVJSTk8gMQojZGVmaW5lIEhBVkVfTElCTSAxCiNkZWZpbmUgTUFJTF9VU0Vf RkxPQ0sgMQojZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQojZGVmaW5lIEhBVkVfQ0xPU0VESVIg MQojZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKI2RlZmluZSBIQVZFX0xSQU5ENDggMQojZGVmaW5l IEhBVkVfU0VUU0lEIDEKI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCiNkZWZpbmUgSEFWRV9TRUxF Q1QgMQojZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQojZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK I2RlZmluZSBIQVZFX1VUSU1FUyAxCiNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQojZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKI2RlZmluZSBIQVZFX1NFVFBHSUQgMQojZGVmaW5lIEhBVkVfR0VUQ1dE IDEKI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCiNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQojZGVmaW5lIEhB VkVfU0VORFRPIDEKI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKI2RlZmluZSBIQVZFX0dFVFNPQ0tO QU1FIDEKI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKI2RlZmluZSBIQVZFX0dFVElGQUREUlMg MQojZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQojZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEK I2RlZmluZSBIQVZFX01LU1RFTVAgMQojZGVmaW5lIEhBVkVfR0VUTElORSAxCiNkZWZpbmUgSEFW RV9HRVRERUxJTSAxCiNkZWZpbmUgSEFWRV9GU1lOQyAxCiNkZWZpbmUgSEFWRV9TWU5DIDEKI2Rl ZmluZSBIQVZFX0RJRkZUSU1FIDEKI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKI2RlZmlu ZSBIQVZFX0dFVFBXRU5UIDEKI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKI2RlZmluZSBIQVZFX0dF VEdSRU5UIDEKI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAx CiNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKI2RlZmlu ZSBIQVZFX0dFVFdEIDEKI2RlZmluZSBIQVZFX1JBTkRPTSAxCiNkZWZpbmUgSEFWRV9SSU5UIDEK I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCiNkZWZpbmUgSEFWRV9GU0VFS08g MQojZGVmaW5lIEdFVFBHUlBfVk9JRCAxCiNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKI2RlZmluZSBI QVZFX1BPU0lYX09QRU5QVCAxCiNkZWZpbmUgVEVSTUlORk8gMQojZGVmaW5lIEhBVkVfVFpTRVQg MQojZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKI2RlZmluZSBIQVZFX0xTVEFUIDEKI2RlZmlu ZSBIQVZFX0FMQVJNIDEKI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQojZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCiNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQojZGVmaW5lIEhBVkVfU1lNTElOSyAxCiNkZWZp bmUgSEFWRV9MT0NBTFRJTUVfUiAxCiNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKI2RlZmluZSBIQVZF X0xVVElNRVMgMQojZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKI2RlZmluZSBIQVZFX0ZPUksg MQojZGVmaW5lIEhBVkVfVkZPUksgMQojZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCiNkZWZp bmUgSEFWRV9XT1JLSU5HX0ZPUksgMQojZGVmaW5lIEhBVkVfU05QUklOVEYgMQojZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCiNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQojZGVmaW5lIF9f cmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKI2Rl ZmluZSBDTEFTSF9ERVRFQ1RJT04gMQojZGVmaW5lIEhBVkVfUFRZUyAxCiNkZWZpbmUgSEFWRV9T T0NLRVRTIDEKI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgojZGVmaW5lIFNFUENIQVIg JzonCiNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdf Z2Vjb3MKI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwojZGVmaW5lIElTX0RFVklDRV9TRVAoX2Nf KSAwCiNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQ KQojZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKI2RlZmlu ZSBET05UX1JFT1BFTl9QVFkgMQojZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2Rz cCIKI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQojZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7 IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCiNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKI2Rl ZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwg cHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChz bGF2ZSk7IH0gd2hpbGUgKDApCiNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCiNkZWZpbmUg UFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwojZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJ TEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCiNkZWZpbmUgVEFCMyBPWFRBQlMK I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQojZGVmaW5lIEhBVkVfX1NFVEpNUCAxCiNkZWZpbmUg QlNENF8yIC8qKi8KI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KI2RlZmluZSBEQVJXSU5fT1MgLyoq LwojZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCiNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKI2RlZmlu ZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4iCiNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5oIgojZGVmaW5lIEVNQUNTX0NPTkZJ R1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgojZGVmaW5lIEVNQUNTX0NPTkZJR19P UFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKI2RlZmlu ZSBIQVZFX01FTlVTIDEKI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKI2RlZmluZSBIQVZFX0FMTE9D QSAxCiNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCiNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MQojZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQojZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAx CiNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEK I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CiNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xP TkdfSU5UIDEKI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQojZGVmaW5lIEJJVFNJWkVPRl9Q VFJESUZGX1QgNjQKI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CiNkZWZpbmUgQklUU0laRU9G X1NJR19BVE9NSUNfVCAzMgojZGVmaW5lIEJJVFNJWkVPRl9XQ0hBUl9UIDMyCiNkZWZpbmUgQklU U0laRU9GX1dJTlRfVCAzMgojZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19BVE9NSUNfVCAxCiNkZWZp bmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCiNkZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKI2Rl ZmluZSBQVFJESUZGX1RfU1VGRklYIGwKI2RlZmluZSBTSVpFX1RfU1VGRklYIHVsCiNkZWZpbmUg U0lHX0FUT01JQ19UX1NVRkZJWCAKI2RlZmluZSBXQ0hBUl9UX1NVRkZJWCAKI2RlZmluZSBXSU5U X1RfU1VGRklYIAojZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQojZGVmaW5lIEhBVkVfX0JPT0wgMQoj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCiNk ZWZpbmUgSEFWRV9UTV9aT05FIDEKI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCiNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPSU1BWCAxCiNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCiNkZWZpbmUg SEFWRV9XT1JLSU5HX1VUSU1FUyAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCiNkZWZp bmUgSEFWRV9BTExPQ0EgMQojZGVmaW5lIEhBVkVfRFVQMiAxCiNkZWZpbmUgX19HRVRPUFRfUFJF RklYIHJwbF8KI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAojZGVmaW5lIFJFQURM SU5LX1RSQUlMSU5HX1NMQVNIX0JVRyAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9BVElN RVNQRUNfVFZfTlNFQyAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CSVJUSFRJTUVTUEVD X1RWX05TRUMgMQojZGVmaW5lIEdOVUxJQl9GU0NBTkYgMQojZGVmaW5lIEdOVUxJQl9TQ0FORiAx CiNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCiNkZWZpbmUgSEFWRV9ERUNMX0xPQ0FMVElN RV9SIDEKI2RlZmluZSBSRVBMQUNFX0ZVTkNfU1RBVF9GSUxFIDEKI2RlZmluZSBPUkRJTkFSWV9M SU5LIDEKI2RlZmluZSBIQVZFX1dJTkRPV19TWVNURU0gMQojZGVmaW5lIEhBVkVfTU9VU0UgMQoK Y29uZmlndXJlOiBleGl0IDAKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgUnVubmlu ZyBjb25maWcuc3RhdHVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgpUaGlzIGZp bGUgd2FzIGV4dGVuZGVkIGJ5IGVtYWNzIGNvbmZpZy5zdGF0dXMgMjQuMi41MCwgd2hpY2ggd2Fz CmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5l IHdhcwoKICBDT05GSUdfRklMRVMgICAgPSAKICBDT05GSUdfSEVBREVSUyAgPSAKICBDT05GSUdf TElOS1MgICAgPSAKICBDT05GSUdfQ09NTUFORFMgPSAKICAkIC4vY29uZmlnLnN0YXR1cyAKCm9u IGlCdWtNYWMubG9jYWwKCmNvbmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcgbmV4dHN0ZXAvQ29j b2EvRW1hY3MuYmFzZS9Db250ZW50cy9JbmZvLnBsaXN0CmNvbmZpZy5zdGF0dXM6MTc2NzogY3Jl YXRpbmcgbmV4dHN0ZXAvQ29jb2EvRW1hY3MuYmFzZS9Db250ZW50cy9SZXNvdXJjZXMvRW5nbGlz aC5scHJvai9JbmZvUGxpc3Quc3RyaW5ncwpjb25maWcuc3RhdHVzOjE3Njc6IGNyZWF0aW5nIE1h a2VmaWxlCmNvbmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcgbGliL01ha2VmaWxlCmNvbmZpZy5z dGF0dXM6MTc2NzogY3JlYXRpbmcgbGliLXNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE3Njc6 IGNyZWF0aW5nIG9sZFhNZW51L01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcg ZG9jL2VtYWNzL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcgZG9jL21pc2Mv TWFrZWZpbGUKY29uZmlnLnN0YXR1czoxNzY3OiBjcmVhdGluZyBkb2MvbGlzcGludHJvL01ha2Vm aWxlCmNvbmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcgZG9jL2xpc3ByZWYvTWFrZWZpbGUKY29u ZmlnLnN0YXR1czoxNzY3OiBjcmVhdGluZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxNzY3 OiBjcmVhdGluZyBsd2xpYi9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE3Njc6IGNyZWF0aW5nIGxp c3AvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxNzY3OiBjcmVhdGluZyBsZWltL01ha2VmaWxlCmNv bmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcgbmV4dHN0ZXAvTWFrZWZpbGUKY29uZmlnLnN0YXR1 czoxNzY3OiBjcmVhdGluZyB0ZXN0L2F1dG9tYXRlZC9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE3 Njc6IGNyZWF0aW5nIGFkbWluL3VuaWRhdGEvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxNzY3OiBj cmVhdGluZyBzcmMvY29uZmlnLmgKY29uZmlnLnN0YXR1czoxOTg2OiBleGVjdXRpbmcgZGVwZmls ZXMgY29tbWFuZHMKY29uZmlnLnN0YXR1czoxOTg2OiBleGVjdXRpbmcgbWtkaXJzIGNvbW1hbmRz CmNvbmZpZy5zdGF0dXM6MTk4NjogZXhlY3V0aW5nIGVwYXRocyBjb21tYW5kcwpjb25maWcuc3Rh dHVzOjE5ODY6IGV4ZWN1dGluZyBnZGJpbml0IGNvbW1hbmRzCg== --047d7b111a274e139404cca74df5--